239
240
237
232
227
219
210
199
188
176
163
148
134
120
107
93
82
69
59
51
44
39
34
31
31
33
37
43
50
59
68
79
92
105
119
132
146
161
174
187
197
208
217
226
232
236
239
240
239
236
231
225
217
205
195
183
171
157
143
129
115
102
88
76
65
57
48
41
36
33
31
31
35
39
44
54
63
70
81
98
111
121
137
152
165
178
189
201
212
220
226
234
237
239
240
238
234
229
222
213
203
192
180
167
153
138
125
111
98
84
73
63
54
46
39
35
33
31
31
37
41
46
56
64
75
87
100
114
127
141
155
169
182
193
204
214
222
230
235
238
240
240
237
233
227
219
210
199
188
176
163
148
134
121
107
93
80
69
60
51
44
37
34
31
31
33
37
43
50
58
67
79
92
105
119
132
145
160
173
186
197
208
217
225
231
236
239
240
239
236
231
224
216
206
195
184
172
158
144
130
116
102
89
77
66
57
48
41
36
33
31
31
35
39
45
52
62
71
82
95
109
123
136
151
164
178
190
200
210
220
227
233
238
240
240
238
234
229
222
213
203
192
180
166
153
139
125
111
98
85
73
63
54
46
39
35
31
30
34
37
37
46
57
61
76
89
98
114
128
138
155
170
180
193
205
213
222
230
235
239
240
239
238
233
226
219
210
198
189
176
162
148
134
121
107
93
81
70
60
51
44
37
34
31
31
33
37
42
49
58
68
79
91
105
118
131
145
160
173
186
197
208
217
225
231
236
239
240
239
236
231
224
216
207
195
185
171
158
144
130
116
102
89
77
66
57
48
41
36
33
31
31
35
39
45
52
61
71
83
96
109
123
136
150
164
178
190
201
211
220
227
233
238
239
240
238
234
229
221
213
203
192
180
167
153
139
125
111
98
84
73
63
54
46
39
35
32
31
33
35
41
47
55
63
75
87
100
114
127
140
155
169
182
193
204
214
222
229
235
239
240
240
237
233
227
219
210
199
189
176
162
149
134
121
107
93
81
69
60
51
44
37
34
31
31
33
37
42
49
58
67
79
91
104
118
131
145
159
173
186
196
208
217
225
232
236
239
240
239
236
231
225
216
206
196
185
172
158
144
130
116
103
90
77
66
57
49
41
36
33
31
31
34
38
44
53
61
71
82
96
109
124
136
149
164
178
190
201
211
220
228
233
237
239
240
238
234
229
221
213
203
192
180
167
153
139
126
111
98
85
73
63
54
46
39
35
32
32
33
35
40
47
56
63
74
86
100
114
127
140
155
168
182
193
204
214
222
229
235
239
240
240
237
233
227
219
210
199
189
176
163
148
134
121
107
93
81
70
60
51
44
38
34
32
31
33
37
43
49
58
67
78
91
104
118
131
145
159
173
186
197
208
217
225
231
236
239
240
239
236
231
225
216
206
196
185
172
158
144
130
117
103
90
77
66
57
49
42
36
33
31
31
34
38
44
52
61
70
83
95
109
122
136
149
164
177
190
200
210
219
227
233
237
240
240
238
234
229
222
213
203
192
181
167
153
139
126
112
99
85
73
63
54
46
40
35
31
31
31
35
40
47
55
63
74
86
99
113
127
140
154
168
181
192
204
214
222
229
235
238
239
240
237
233
227
219
210
199
189
177
163
149
135
122
108
94
81
70
60
52
44
38
34
31
31
33
37
42
49
58
67
78
90
103
117
131
145
158
173
186
196
207
216
225
231
236
239
240
239
236
231
225
216
207
196
185
172
158
145
129
121
99
90
82
63
58
49
43
36
31
33
31
35
37
44
53
61
71
82
94
109
122
135
149
164
178
189
200
210
220
227
233
237
239
240
237
235
229
221
213
204
192
181
167
154
140
126
111
98
86
73
63
54
46
40
35
31
31
32
35
40
47
55
63
74
86
100
113
127
140
155
168
181
193
203
213
222
230
235
238
239
239
237
233
227
219
210
199
189
177
163
149
134
121
107
94
81
70
60
51
43
37
34
31
31
33
37
42
49
58
67
78
90
104
118
131
145
159
173
186
197
208
217
225
231
236
239
240
239
236
231
225
216
207
196
185
172
158
144
130
116
103
90
77
66
57
49
41
36
33
31
31
34
39
44
52
61
71
82
95
109
122
135
150
164
177
189
200
211
219
227
233
237
240
240
238
235
229
222
213
203
192
181
168
154
139
126
112
99
85
73
63
54
46
39
35
32
31
32
35
40
47
55
63
74
86
100
114
127
140
153
168
181
193
203
213
222
229
235
238
240
239
237
233
227
218
210
201
187
176
166
149
132
122
108
94
82
68
61
52
43
37
34
31
32
33
36
41
49
58
66
78
90
103
118
131
145
159
172
185
196
207
216
224
231
235
240
240
238
235
232
225
215
208
197
185
172
158
145
131
117
103
90
78
66
58
49
42
37
33
31
31
34
38
44
52
61
70
82
95
108
122
135
149
163
176
189
200
210
219
227
233
237
239
240
238
235
229
222
214
203
192
181
168
154
140
126
112
99
86
74
63
54
46
40
35
31
31
31
35
41
47
55
63
74
86
99
112
127
140
154
168
181
192
204
213
222
230
235
238
240
240
237
233
227
219
210
199
189
176
163
149
135
122
108
94
81
69
62
53
41
37
36
28
31
36
34
43
51
56
67
80
90
104
119
129
144
158
173
186
196
206
218
225
231
237
240
240
239
236
231
224
216
207
196
184
172
158
144
130
117
103
90
78
66
57
48
41
36
33
31
31
34
38
44
52
61
70
83
95
109
123
136
150
164
177
190
200
210
220
227
233
237
240
240
238
234
229
222
213
203
192
181
167
154
139
126
112
99
85
73
63
54
47
40
35
31
31
31
35
40
47
55
63
74
86
99
113
127
140
154
168
181
192
203
214
222
230
235
238
240
239
237
233
227
219
210
199
189
176
163
149
135
122
108
94
81
69
60
51
44
38
34
31
31
33
37
42
49
57
67
78
91
104
118
131
145
159
173
186
196
208
217
224
231
236
239
240
239
236
231
225
216
207
196
185
172
158
144
130
117
103
90
78
66
58
49
42
37
33
31
31
34
38
44
52
61
70
82
94
108
122
135
149
163
176
189
200
210
219
227
233
237
239
240
238
235
229
222
213
204
192
181
168
154
140
126
112
99
86
74
63
54
46
40
35
31
31
33
35
40
46
55
63
74
86
99
113
127
140
154
168
181
192
203
213
222
229
235
238
240
239
237
233
227
220
210
200
189
176
163
149
135
121
108
94
82
70
60
52
44
38
34
31
31
33
37
42
49
58
67
78
90
104
118
131
144
158
172
186
196
208
216
225
231
236
239
239
239
236
232
225
217
207
196
185
172
158
144
131
117
103
90
77
66
57
49
42
36
33
31
32
34
38
44
52
61
70
82
94
108
122
135
149
163
177
189
200
211
219
227
233
238
239
240
238
234
229
222
214
203
192
181
168
154
140
126
112
99
86
74
63
55
47
40
35
32
31
32
35
40
47
55
63
74
86
99
113
126
140
154
168
181
192
204
213
222
229
235
238
240
240
237
233
227
220
210
200
190
177
163
150
135
122
108
94
83
69
63
48
45
43
30
32
32
34
37
40
50
58
67
77
90
104
116
131
145
158
172
185
196
206
217
224
231
236
239
240
239
236
231
226
217
207
197
186
172
159
146
130
117
104
91
78
67
57
49
42
37
33
31
31
34
39
44
52
61
70
81
94
108
122
135
149
163
176
189
200
210
219
227
233
237
240
240
238
234
230
222
214
204
192
181
168
154
139
127
113
99
86
73
63
54
46
40
35
32
31
31
35
40
47
54
63
74
86
99
112
127
140
154
168
181
192
203
213
222
229
234
238
240
239
237
233
227
220
210
200
189
176
164
149
135
122
108
94
81
70
60
52
44
39
34
31
31
33
36
42
49
58
67
78
90
103
117
131
144
159
172
185
196
207
216
225
231
235
239
240
239
236
231
225
216
206
196
185
172
158
144
130
117
103
90
78
66
57
49
42
36
33
31
31
34
38
44
52
61
70
82
95
108
122
135
149
163
176
189
200
210
219
227
233
237
240
240
238
234
229
222
213
203
192
180
167
153
139
125
112
98
85
73
63
54
46
40
35
31
31
33
35
40
47
55
63
74
86
99
113
127
140
154
168
181
192
204
213
222
229
235
238
240
239
237
232
227
219
210
200
189
176
163
149
135
122
107
94
81
70
60
51
44
38
34
31
31
33
36
42
49
58
66
77
90
103
117
130
144
158
172
185
196
207
216
225
231
235
239
240
239
236
231
224
216
207
196
185
172
158
144
130
116
103
90
78
66
57
49
42
36
33
31
31
34
38
44
52
60
71
83
92
107
125
134
147
164
177
189
200
209
220
228
232
236
240
240
238
235
229
222
214
204
192
180
168
154
140
127
112
98
86
74
63
55
46
40
35
32
31
33
34
39
47
54
63
73
86
98
112
125
140
154
167
180
192
203
213
222
229
234
238
240
240
237
233
228
220
211
200
190
177
164
150
136
122
108
95
82
70
61
52
45
38
35
31
31
33
36
42
48
58
66
78
90
104
117
130
144
158
172
185
196
206
216
224
231
235
238
240
239
236
231
225
216
207
196
185
172
159
148
130
114
106
89
76
70
57
49
44
36
31
34
31
34
39
43
50
60
69
81
94
107
121
135
148
163
177
189
198
210
219
226
233
237
239
239
238
235
230
223
214
204
193
182
169
155
141
127
113
100
86
75
63
55
47
40
35
31
31
31
35
39
46
54
63
73
85
98
112
126
139
153
167
181
192
203
213
221
229
235
238
240
240
237
234
228
221
211
201
190
178
164
150
136
123
108
95
83
71
61
52
44
38
34
31
31
33
36
42
48
57
66
77
90
103
116
130
144
157
172
184
196
206
216
224
231
236
239
240
239
236
232
225
217
208
197
186
173
159
145
131
118
104
91
78
67
58
49
42
36
33
31
31
34
38
44
51
61
70
81
94
108
122
135
148
163
176
189
199
209
219
227
233
237
240
240
238
234
230
223
214
204
193
182
168
155
140
127
113
100
86
74
63
55
46
40
35
32
31
31
35
40
46
54
63
74
85
99
112
126
139
153
167
181
192
203
212
221
229
234
238
239
240
237
234
228
220
211
201
190
177
164
150
136
123
108
95
82
71
61
52
44
38
35
31
31
33
36
42
48
57
66
77
90
103
117
129
144
158
172
185
196
207
216
225
231
236
239
240
239
236
232
225
217
207
197
186
173
160
145
131
118
104
90
78
67
57
49
42
36
33
31
31
34
38
44
52
61
70
81
94
108
121
135
149
163
176
189
200
210
219
227
233
237
239
240
238
235
229
222
214
204
192
181
168
154
140
127
113
99
86
74
63
55
46
40
36
31
35
28
36
44
43
55
63
76
85
97
113
127
141
152
168
182
192
203
213
221
229
234
238
239
240
238
233
227
220
211
200
189
177
164
150
135
123
109
94
81
71
61
52
44
39
34
32
31
34
37
41
48
57
66
78
90
103
117
130
144
158
171
184
196
207
216
225
231
236
239
240
239
236
232
225
217
207
196
186
173
159
144
131
118
105
91
77
66
58
50
42
37
33
31
31
34
38
44
51
61
69
81
94
107
121
134
148
163
176
189
199
210
219
227
232
237
239
240
238
235
229
222
214
204
193
182
168
155
140
127
113
100
86
74
63
55
46
40
35
32
31
31
35
39
46
54
63
73
85
98
112
126
139
153
167
180
192
203
213
222
229
234
238
240
239
237
233
227
220
211
200
190
178
164
150
136
123
109
95
82
71
61
52
45
38
34
31
31
33
36
41
48
57
66
77
89
103
116
130
144
157
172
185
195
206
216
224
231
236
239
240
239
236
231
225
217
208
196
186
173
159
145
131
118
104
91
78
67
58
50
42
37
33
31
31
33
38
44
51
60
69
81
94
107
121
134
148
163
176
189
199
209
218
227
233
237
239
240
238
235
229
223
214
204
193
182
169
155
140
127
113
100
87
74
63
55
47
40
35
32
31
31
35
39
46
54
63
73
85
98
111
125
139
153
167
180
192
203
212
221
228
234
238
240
239
238
233
228
221
211
201
190
178
165
150
136
123
109
96
83
71
62
52
44
38
34
31
31
33
36
41
48
57
66
77
89
102
116
130
143
157
171
184
195
206
216
224
230
235
238
240
239
236
232
225
217
208
197
187
173
160
146
131
119
105
91
79
68
58
50
42
36
33
31
31
33
38
43
51
60
69
81
93
107
121
134
148
162
175
188
199
209
218
226
232
237
239
240
238
235
230
224
215
204
193
183
169
155
141
127
113
100
87
75
63
55
47
40
36
32
31
32
35
39
46
54
63
72
84
98
111
126
139
153
167
180
192
202
212
221
229
234
238
240
239
237
233
228
220
212
200
192
180
162
151
140
122
108
96
83
70
61
51
45
39
33
31
31
33
36
42
48
57
66
76
89
103
116
129
143
157
171
184
195
206
216
224
230
235
239
240
239
237
231
225
218
208
197
187
174
159
145
132
119
105
91
79
67
58
50
42
37
33
31
31
34
38
44
51
60
69
81
94
107
121
134
148
162
176
188
199
209
219
227
232
237
239
240
238
235
231
225
211
205
195
179
171
157
139
128
115
98
88
76
63
56
47
39
35
33
31
33
35
40
47
54
63
74
86
97
111
125
138
153
168
180
192
202
213
222
229
234
237
240
240
238
233
228
220
211
201
190
178
164
150
136
123
109
95
83
71
61
52
45
38
34
31
31
33
37
43
49
57
65
77
90
103
116
129
144
158
171
184
195
206
216
224
231
236
239
240
240
236
232
225
217
208
197
186
173
160
145
131
118
104
91
79
67
58
49
42
37
33
31
31
34
38
44
51
60
70
81
94
107
121
134
149
163
176
189
199
210
219
227
232
237
240
239
238
235
230
222
214
204
193
182
169
155
141
127
113
100
86
74
63
55
47
40
35
32
31
32
35
40
47
54
63
73
85
98
112
126
139
153
167
180
192
202
213
221
229
234
238
240
240
237
233
227
220
211
201
190
178
164
150
136
123
109
96
83
71
61
52
45
38
34
31
31
33
36
42
49
57
66
77
89
102
116
129
144
157
171
184
195
206
216
224
231
236
239
240
239
237
232
226
217
208
197
186
173
160
145
131
118
104
91
79
67
58
49
42
37
33
31
31
34
38
42
55
55
70
85
91
107
121
136
147
161
176
189
200
208
219
227
232
237
239
240
239
235
230
223
215
205
193
183
169
155
141
127
114
100
87
74
64
56
46
40
36
33
31
31
35
39
46
54
63
73
84
98
111
125
138
153
167
180
192
202
212
221
228
234
238
240
240
237
234
227
220
211
201
190
179
165
151
137
123
109
96
83
71
62
52
45
38
34
31
31
33
36
41
48
57
66
77
89
102
116
129
143
157
171
184
195
206
215
224
230
236
239
240
239
237
232
226
218
208
197
187
174
161
146
132
119
105
92
79
68
58
50
42
37
33
31
31
34
38
44
51
60
69
80
93
107
121
134
148
162
175
188
198
209
218
226
232
237
239
240
238
235
230
224
214
205
194
182
169
155
141
127
114
100
87
75
63
55
47
41
36
32
31
31
35
40
46
54
63
73
85
98
111
125
139
152
166
180
192
202
213
221
229
234
239
240
240
237
233
228
220
211
201
190
178
165
151
136
123
109
96
83
71
61
52
45
39
34
31
31
33
36
41
48
57
66
76
89
102
116
129
143
157
171
184
195
206
216
224
230
236
239
240
239
236
231
226
218
208
197
186
173
160
146
132
118
105
91
79
68
59
50
43
37
34
31
31
34
37
43
51
60
69
81
93
107
121
133
147
162
175
188
199
210
219
226
231
236
239
240
238
235
230
224
215
205
194
182
169
156
142
127
114
100
87
75
63
55
47
41
36
33
31
32
35
39
45
53
63
72
85
98
111
125
138
152
167
180
192
202
212
221
229
234
238
240
240
238
233
228
220
212
201
191
178
165
151
136
124
110
96
83
71
62
52
45
39
34
31
31
32
36
41
48
57
65
76
89
102
116
129
143
157
171
184
195
206
215
224
230
235
239
240
239
236
232
226
218
208
198
187
174
161
147
133
119
105
91
79
68
59
50
43
37
33
31
31
34
37
43
51
60
69
80
93
106
120
133
148
162
175
188
198
209
218
226
232
237
239
240
239
236
230
224
215
205
193
183
170
156
142
127
114
101
87
75
63
56
47
41
35
33
31
32
35
39
46
54
63
73
85
98
111
125
138
152
166
179
192
202
212
221
229
234
238
240
240
237
233
228
220
212
201
191
179
165
151
137
123
110
96
83
71
62
53
45
39
34
31
31
33
36
42
48
57
65
77
89
102
116
129
143
157
171
184
195
205
216
224
231
235
239
240
239
237
232
226
218
208
197
187
174
161
146
132
119
105
92
79
68
58
50
42
37
34
31
31
34
38
43
51
60
69
80
94
106
121
131
149
164
172
188
198
209
218
225
232
238
239
239
239
236
229
224
215
204
194
183
169
155
141
127
114
101
87
75
63
56
47
40
36
31
31
31
35
39
45
53
63
73
83
98
112
125
138
152
166
180
192
202
212
221
231
235
235
240
241
235
236
229
218
213
202
189
180
166
150
138
124
108
96
83
71
62
52
44
40
34
31
32
33
35
41
48
56
65
77
89
101
116
129
143
157
171
184
194
206
216
224
230
235
238
240
240
237
232
226
218
208
198
187
174
161
147
132
119
105
92
79
68
58
50
43
37
33
31
31
33
38
44
50
59
69
81
93
106
120
134
147
162
175
188
198
209
218
226
232
236
239
240
238
236
229
224
215
206
194
182
169
156
142
127
114
100
87
76
64
55
47
41
36
32
31
32
35
39
46
54
63
73
84
98
111
125
138
152
166
179
191
202
212
222
228
233
237
240
240
238
233
228
221
212
201
191
178
165
151
137
123
110
96
83
71
62
53
44
39
34
31
31
33
36
41
48
56
65
77
88
106
111
130
147
154
171
184
196
205
214
224
231
237
237
240
240
236
232
225
217
208
198
187
174
160
146
132
118
105
91
79
68
58
50
42
36
33
31
30
33
39
44
50
60
69
81
93
106
120
134
147
162
175
188
198
209
218
226
232
236
239
240
239
236
230
224
215
205
194
184
170
156
142
127
115
100
88
75
65
56
47
40
36
33
31
31
35
39
45
54
62
72
84
97
111
125
138
152
166
179
192
202
212
221
229
234
238
239
240
238
234
228
221
212
201
192
178
165
151
137
124
110
96
84
72
62
53
45
39
34
31
31
33
36
41
48
56
66
76
88
102
116
129
142
157
171
184
194
206
215
224
230
235
238
240
239
236
232
226
218
208
198
187
174
161
147
132
119
105
91
79
68
59
50
43
37
34
31
31
34
37
43
51
60
69
80
93
106
120
133
147
161
175
188
198
208
218
226
232
236
239
240
238
236
230
224
215
205
194
183
170
156
142
127
114
100
88
75
64
55
47
41
35
32
31
31
35
39
46
53
63
72
84
97
111
125
138
152
166
179
192
202
212
221
228
234
238
240
240
238
234
228
220
212
201
192
179
165
151
137
124
110
97
83
71
62
53
45
39
34
31
31
33
36
41
48
56
65
76
89
102
115
129
143
157
171
184
195
205
215
224
231
235
238
240
239
236
232
226
218
208
198
187
174
161
146
132
119
105
92
79
68
58
50
43
37
33
31
31
34
38
43
51
60
69
80
93
106
120
133
147
162
175
188
198
209
218
226
232
237
239
240
238
235
230
223
215
205
194
183
170
156
142
127
114
100
87
75
63
55
47
40
35
33
31
31
35
39
46
53
63
72
84
97
111
125
138
152
166
179
191
202
212
221
228
234
238
240
240
237
234
228
221
212
201
192
179
165
152
137
124
110
96
83
71
62
52
45
38
34
31
31
34
36
40
47
56
65
76
88
101
115
128
143
156
171
183
194
205
215
224
230
235
239
240
239
237
232
226
218
208
198
187
174
161
146
132
120
106
92
79
67
59
50
43
37
33
31
31
34
37
43
51
59
68
80
92
106
120
133
146
161
174
187
198
209
218
226
232
237
239
240
239
235
230
224
215
205
194
183
170
156
142
128
114
101
87
76
65
56
47
41
36
32
31
31
35
39
45
53
62
72
84
97
111
124
137
152
166
179
192
201
212
221
228
234
238
240
240
238
234
228
221
212
201
192
178
166
151
138
124
110
97
84
71
62
53
45
39
34
31
31
32
36
41
47
56
65
75
88
101
115
128
143
156
170
183
194
205
215
224
230
236
238
240
239
237
232
226
218
208
198
187
174
161
147
133
119
106
92
79
68
59
50
43
37
34
31
31
34
37
43
50
59
68
80
92
106
120
133
147
161
175
187
198
209
218
226
232
237
239
240
239
235
230
224
215
205
194
184
170
156
143
128
115
101
88
76
65
56
48
41
36
33
31
31
34
39
45
53
62
72
84
97
111
124
137
151
166
179
192
202
212
220
228
234
238
240
240
238
233
228
221
212
202
192
179
166
152
139
121
111
99
81
72
62
54
45
38
34
33
31
31
36
41
47
57
65
75
88
102
114
128
144
157
166
185
195
203
218
225
228
237
240
237
241
238
231
228
218
207
199
188
174
162
146
132
120
106
92
82
68
58
50
43
37
34
31
31
33
37
44
50
59
69
80
93
106
120
133
147
161
175
187
198
209
218
226
232
237
239
240
238
236
230
224
215
205
194
183
170
156
142
128
114
101
88
75
65
56
47
41
35
33
31
32
34
39
45
53
62
72
84
96
110
125
136
153
167
177
190
203
214
218
228
236
236
240
237
239
235
228
221
212
203
192
179
166
151
138
124
110
97
84
72
62
53
45
39
35
31
31
33
35
41
48
56
63
75
89
100
115
128
142
156
170
183
194
205
215
224
230
235
238
240
239
237
232
226
218
209
198
187
175
161
147
132
120
106
92
79
68
59
50
43
38
34
31
31
33
37
43
50
59
68
79
92
105
119
132
146
161
174
187
198
208
218
226
233
237
238
239
239
236
231
224
215
206
195
184
171
157
143
129
115
102
88
76
65
56
47
41
35
32
31
31
34
38
45
52
62
71
83
97
111
124
136
151
165
178
191
201
211
221
228
233
238
239
240
237
234
228
221
212
202
192
179
166
152
138
124
111
97
84
72
62
53
45
39
34
31
31
33
36
41
47
56
63
76
88
101
114
127
142
155
170
183
194
205
214
224
229
235
238
240
239
236
232
226
218
209
199
188
175
161
147
133
120
106
92
80
68
59
50
43
37
33
31
31
34
37
43
50
59
68
79
92
106
119
132
147
161
174
187
198
208
218
226
232
237
239
240
239
236
230
224
215
205
194
183
170
156
142
128
115
101
88
76
64
55
47
41
36
33
31
31
34
39
45
53
62
72
83
97
111
123
137
151
165
179
191
201
211
220
228
234
237
240
240
238
234
229
221
212
202
192
179
165
152
137
124
110
97
84
72
62
53
45
39
34
31
31
33
36
40
47
56
65
75
88
101
114
128
142
156
169
183
194
205
215
224
230
235
239
240
240
237
232
226
218
209
198
187
174
161
147
133
120
106
92
79
68
59
50
43
37
34
31
31
34
37
43
50
59
68
79
92
105
120
132
146
161
174
187
198
208
218
226
232
237
239
240
238
236
230
224
215
205
194
184
170
156
143
128
115
101
88
76
65
56
47
41
36
33
31
31
35
39
45
53
62
71
84
97
110
124
137
152
165
178
192
201
212
221
228
234
238
240
240
238
234
229
221
212
202
192
179
166
152
138
124
111
97
84
72
63
53
45
39
35
32
31
33
36
41
47
56
65
75
88
101
115
128
142
156
170
183
194
205
215
223
230
235
239
240
239
237
232
227
218
209
198
188
175
161
147
133
120
106
93
80
69
59
50
43
37
34
31
31
34
37
43
50
59
68
79
92
105
119
132
147
160
174
187
197
208
218
226
232
236
239
240
239
235
231
224
216
205
195
184
171
157
143
129
115
102
88
76
65
56
48
41
36
33
31
31
34
39
45
53
62
71
83
97
110
124
137
151
165
179
191
201
211
221
228
234
238
240
240
238
234
229
221
213
202
192
179
166
152
138
124
111
97
85
73
62
53
46
39
35
32
31
33
36
41
47
56
64
76
88
101
114
127
142
156
169
183
194
205
214
223
230
235
238
240
239
236
232
227
220
209
198
187
175
162
147
133
120
106
93
80
68
59
50
43
37
34
31
31
34
37
43
50
59
68
79
92
106
119
132
146
160
174
187
198
208
218
225
232
237
239
240
239
236
231
224
215
206
195
184
171
157
143
129
115
102
88
76
65
56
48
41
36
33
31
32
34
39
45
53
62
71
83
96
109
123
137
151
165
178
191
201
211
221
228
233
238
239
240
238
234
229
221
212
202
192
180
166
152
138
125
111
97
84
72
63
53
45
39
35
31
31
33
36
41
47
56
64
75
88
101
114
127
141
156
170
183
194
205
214
223
230
235
239
240
239
237
232
226
219
209
199
188
175
162
147
133
120
106
92
80
68
59
51
43
37
34
31
31
33
37
42
50
60
69
76
91
107
115
134
149
157
174
190
196
206
221
224
236
234
236
244
236
236
231
225
215
205
196
184
173
157
142
129
115
102
88
76
66
56
47
41
36
33
31
31
34
39
45
53
62
70
83
97
110
123
137
151
165
178
190
201
212
220
228
233
237
240
240
238
234
228
221
213
203
192
180
166
153
138
125
111
97
84
72
63
53
45
39
35
31
31
33
35
41
47
56
65
75
87
101
114
128
141
155
169
182
194
204
215
223
230
235
239
240
239
237
232
227
219
209
198
188
175
162
148
134
120
106
93
80
69
59
51
43
38
33
31
31
33
37
43
50
59
68
79
92
105
119
132
146
161
174
187
197
208
217
226
231
236
239
240
239
236
231
224
216
206
195
184
171
157
142
129
115
102
89
76
65
56
48
41
36
33
31
31
35
39
45
53
62
71
83
96
110
123
137
151
165
178
190
201
211
220
228
233
237
239
240
238
235
229
221
212
202
192
180
166
153
139
125
111
97
84
72
63
54
45
40
35
32
31
33
35
41
47
56
63
75
87
100
114
127
141
155
169
182
193
205
214
224
230
235
238
240
239
237
233
226
219
209
198
188
176
162
148
134
121
106
93
80
69
59
51
43
37
34
31
31
33
37
43
50
59
67
79
91
106
120
132
146
159
174
187
198
208
217
225
232
237
239
240
239
236
231
225
215
206
195
184
171
157
142
129
115
102
89
76
66
56
48
41
36
33
31
33
34
39
45
53
62
71
83
96
110
124
137
151
165
178
192
201
211
220
228
234
238
240
240
238
234
229
221
213
202
192
180
166
152
138
125
111
98
84
72
63
53
45
39
34
31
31
31
36
40
47
56
64
75
88
101
115
128
142
156
169
182
193
205
214
223
230
235
239
240
239
237
233
226
219
209
199
188
175
162
147
134
120
107
93
80
69
59
51
43
37
34
31
31
33
37
43
50
59
68
79
92
105
119
132
146
160
174
187
197
208
218
226
232
237
239
240
239
236
231
224
216
206
195
184
171
157
144
129
116
102
89
77
66
57
48
41
36
33
31
31
35
39
45
52
62
71
83
95
109
123
137
151
164
178
191
201
211
220
227
233
237
240
240
238
234
229
221
213
203
192
180
167
153
139
125
111
98
85
73
63
54
46
39
35
31
31
32
36
41
47
56
63
75
88
101
114
127
141
155
169
183
193
204
214
223
230
235
238
240
239
237
233
227
219
209
198
188
176
162
148
134
121
106
93
80
69
59
51
43
38
33
31
31
34
37
43
50
59
68
79
92
105
119
132
146
160
174
186
197
208
217
225
231
237
239
240
239
236
231
224
216
206
195
184
171
157
144
129
116
102
89
76
65
57
48
42
36
33
31
31
34
39
45
53
62
71
82
96
109
123
136
150
164
178
190
201
211
220
227
234
237
240
240
238
234
229
222
213
203
192
180
167
153
139
126
111
98
85
73
63
53
46
39
35
31
31
33
35
41
47
55
63
75
87
100
113
127
140
155
169
182
193
204
214
222
229
235
238
240
240
237
232
227
219
210
199
189
176
163
148
134
121
107
94
81
69
60
51
43
38
34
31
31
33
37
42
50
58
67
79
91
104
118
131
145
159
172
186
196
208
217
225
231
236
239
240
238
236
231
224
216
206
195
184
172
158
144
130
117
102
89
77
65
57
48
41
36
33
31
31
34
38
44
52
61
70
82
95
109
122
136
149
164
177
189
200
210
220
227
233
237
239
240
238
235
228
222
213
204
192
180
166
153
139
126
111
97
85
73
63
54
46
39
34
31
31
32
35
40
47
55
63
74
86
100
113
127
140
154
168
181
192
204
214
224
229
234
239
238
240
239
230
227
221
211
198
189
178
161
149
133
122
108
92
81
69
60
51
44
38
33
31
31
33
37
42
50
58
67
79
91
105
118
131
146
158
173
187
196
206
217
225
231
236
239
240
239
235
230
225
216
206
195
184
171
158
143
129
116
102
89
76
65
56
49
41
36
35
31
28
35
39
42
55
63
69
85
97
107
125
137
149
165
178
189
200
211
220
228
233
237
240
240
238
235
230
221
213
203
192
180
167
153
138
125
112
98
86
70
63
56
44
39
35
32
31
31
35
41
47
54
63
75
87
101
114
127
141
155
169
182
193
204
214
223
230
235
239
240
240
237
232
227
220
210
199
189
176
162
149
135
120
107
94
81
69
60
51
44
38
34
31
31
33
37
43
49
58
67
79
91
105
118
132
145
159
173
186
197
208
217
225
231
236
239
240
239
236
231
225
216
207
196
185
172
158
144
130
116
102
89
77
66
57
49
41
36
33
31
31
34
39
45
53
62
71
82
96
109
123
136
151
164
177
190
200
211
220
227
233
237
239
240
238
234
229
222
213
203
192
181
167
153
139
125
111
98
85
73
63
54
46
39
35
31
31
33
36
40
47
55
63
75
87
100
114
127
141
155
169
182
193
204
214
222
230
235
239
240
240
237
233
227
219
210
199
188
176
162
148
134
121
107
93
80
69
60
51
43
38
34
31
31
33
37
42
50
58
67
78
91
105
119
132
145
159
173
186
197
208
217
225
231
236
239
240
239
236
231
225
216
206
195
185
172
157
144
130
116
103
89
77
66
57
48
41
36
33
31
31
34
38
45
52
62
71
83
95
109
123
136
150
164
177
190
200
210
220
227
233
237
239
240
238
235
229
222
213
203
192
180
167
153
139
125
111
98
85
73
63
54
46
39
34
32
31
33
35
40
47
55
63
74
86
99
113
127
140
155
168
182
193
204
214
222
229
235
238
240
239
237
232
227
219
210
200
189
176
163
149
134
121
107
93
81
69
60
51
43
37
33
31
31
34
37
42
49
59
68
79
91
104
118
131
146
160
172
186
197
208
217
225
231
236
239
240
239
236
231
225
216
206
195
184
171
157
143
129
116
103
89
76
65
57
49
41
36
33
31
31
35
39
45
52
62
71
82
96
109
123
136
150
164
178
190
200
211
220
228
233
237
240
240
238
234
229
221
213
202
192
180
166
153
139
125
111
98
84
73
63
54
46
39
35
31
31
32
35
40
47
55
63
75
87
100
113
127
141
155
168
182
193
204
214
222
230
235
238
240
239
237
233
227
219
210
199
188
176
163
149
134
121
107
93
81
69
60
51
44
38
34
31
31
33
36
42
49
58
67
79
91
104
118
131
145
159
173
186
197
207
217
225
231
237
239
240
239
236
231
225
216
206
196
185
172
158
144
130
117
103
89
77
66
57
49
42
36
33
31
31
34
38
44
52
61
70
82
95
108
122
136
149
164
177
189
200
210
220
227
233
237
240
240
238
234
229
222
213
203
192
181
167
153
139
126
112
99
85
74
63
54
46
40
35
31
31
31
35
40
47
55
63
74
86
99
113
127
140
154
168
181
192
203
213
222
229
235
238
240
239
237
233
227
220
210
199
189
176
163
149
135
121
108
94
81
69
61
51
44
38
34
31
31
33
36
42
49
58
67
78
90
104
117
131
145
158
173
185
196
207
217
225
231
236
239
240
239
236
231
225
216
207
196
185
172
158
144
130
117
103
90
78
67
57
49
42
36
33
31
31
34
38
45
52
61
70
82
94
109
122
136
149
164
177
189
200
210
220
227
233
237
239
240
238
234
229
223
212
207
189
181
171
151
140
126
113
98
84
73
63
55
45
39
36
31
31
31
36
40
47
55
63
75
86
99
113
126
140
154
168
181
193
203
213
223
230
233
238
240
239
237
233
228
220
210
199
189
177
163
149
135
121
108
94
81
70
60
52
44
38
33
31
31
33
37
42
49
58
67
78
91
104
118
131
144
159
173
185
196
207
217
225
231
236
239
240
239
236
231
225
216
207
196
185
172
158
144
130
116
103
89
77
66
57
48
42
36
33
31
31
35
38
44
52
61
70
82
95
109
123
135
150
164
177
190
200
210
220
228
234
237
238
240
238
235
229
222
213
203
192
181
167
153
140
126
111
100
86
70
63
55
43
42
36
30
33
33
33
42
47
54
63
74
86
100
114
127
141
154
168
182
192
203
214
222
229
235
238
240
240
238
233
227
219
210
200
189
176
163
149
135
122
108
93
81
70
60
51
44
38
34
31
31
33
37
42
49
58
67
78
90
104
118
131
145
160
172
186
198
205
217
227
231
236
239
240
239
236
230
225
217
206
196
186
172
158
144
130
116
103
90
77
66
57
48
41
36
33
31
31
34
39
44
52
61
70
82
95
108
121
135
150
163
176
190
200
210
219
227
233
237
239
240
238
234
229
222
213
203
193
181
168
153
139
126
113
99
86
74
63
54
47
39
35
32
31
31
35
40
46
54
63
74
86
99
113
127
140
154
168
181
192
204
213
222
229
235
238
240
240
237
233
227
219
210
200
189
176
163
148
135
121
107
93
81
69
60
51
43
38
34
31
31
33
37
42
50
58
67
78
91
104
118
132
146
159
173
186
197
208
217
225
231
236
239
240
239
236
231
225
216
206
195
184
172
157
144
130
116
102
89
77
66
57
48
41
36
33
31
31
34
38
45
52
62
71
83
95
109
123
136
150
164
177
190
200
211
220
228
233
237
239
240
238
235
229
222
213
203
192
180
167
153
139
126
112
98
85
73
63
54
46
39
35
31
31
32
35
40
47
55
63
74
86
100
113
127
140
154
168
181
193
203
214
222
230
235
238
240
239
237
233
227
219
210
200
189
176
163
149
135
122
108
94
81
70
60
51
44
38
34
31
31
33
37
42
49
58
67
78
90
104
118
131
145
159
172
185
196
207
216
225
231
236
239
240
239
236
231
225
217
207
196
185
172
159
145
130
117
104
90
78
66
58
49
41
36
33
31
31
34
38
45
52
61
70
82
95
108
122
135
150
163
176
189
200
210
220
227
233
237
239
240
238
235
229
222
214
203
192
181
168
154
140
127
113
99
86
74
63
54
46
40
35
32
31
33
35
40
47
55
63
74
86
99
112
127
140
154
168
181
192
203
213
222
229
235
238
240
239
237
233
227
219
211
200
189
177
163
150
134
122
108
96
82
70
60
51
44
38
34
31
31
33
37
42
49
58
66
78
90
103
117
131
145
159
172
185
196
206
216
224
231
235
239
240
239
236
231
225
217
207
195
185
173
159
144
130
117
103
90
77
66
57
49
42
37
33
31
31
34
38
44
51
61
70
82
95
108
122
135
149
163
177
189
199
211
219
227
232
237
239
239
238
234
229
222
214
203
192
181
168
154
140
126
113
99
86
74
63
54
47
40
35
31
31
32
35
40
47
55
63
74
86
99
113
127
140
154
168
181
192
203
213
222
229
235
238
240
239
237
233
227
220
210
200
189
177
163
149
135
122
108
94
81
70
60
51
44
38
34
31
31
33
36
43
49
58
66
78
90
104
118
131
145
159
173
185
197
207
216
225
231
236
238
241
237
239
229
225
220
204
197
186
173
159
144
131
118
104
90
77
67
57
50
41
36
33
31
31
34
39
44
52
61
70
82
95
108
122
135
149
163
177
189
199
210
220
227
232
237
240
240
238
234
229
222
214
204
193
181
168
155
140
127
112
99
86
74
63
54
46
40
35
31
31
31
35
40
47
54
63
74
86
99
112
126
140
154
168
181
192
203
213
222
229
234
238
240
240
237
233
227
220
210
200
189
177
164
149
135
122
108
94
81
70
60
51
44
38
34
31
31
33
37
42
49
58
67
78
91
103
117
130
144
159
173
185
196
206
216
225
230
236
239
240
239
236
231
225
217
207
196
185
173
158
145
131
117
104
90
77
66
57
49
42
36
33
31
31
34
38
44
52
60
70
81
94
108
122
135
149
163
176
189
199
209
219
227
233
237
240
240
238
235
229
222
214
204
192
181
168
155
140
127
113
99
86
74
63
55
46
40
35
32
31
31
35
40
46
54
63
73
85
99
112
126
139
153
167
180
192
203
213
222
229
234
238
240
240
237
233
227
220
210
202
192
175
163
152
133
124
111
92
83
72
59
52
46
37
34
33
30
32
36
42
49
57
65
78
89
102
117
130
143
157
172
184
195
206
216
224
230
236
239
240
239
236
231
225
217
208
197
186
173
159
145
131
118
105
92
79
66
58
49
43
37
33
31
31
34
38
44
51
60
70
81
93
108
121
134
148
162
176
189
199
209
219
227
233
237
239
240
238
235
230
224
214
204
192
181
169
155
140
127
113
99
87
74
65
52
47
42
33
32
31
33
35
39
46
55
63
73
86
99
112
127
140
153
168
181
192
203
213
222
229
235
238
240
240
237
233
228
219
210
200
190
177
164
150
135
123
109
94
82
71
61
52
44
38
35
31
31
33
37
42
49
58
66
78
90
103
117
130
144
158
172
185
196
207
216
225
231
236
239
240
239
236
232
225
217
208
196
186
173
160
145
131
118
104
90
78
67
58
49
42
36
33
31
31
34
38
44
52
61
70
82
94
107
122
135
149
163
176
189
199
210
219
227
233
237
240
240
238
235
230
222
214
204
193
182
169
155
141
127
113
99
86
75
63
55
46
40
35
31
31
32
35
40
46
55
63
73
86
98
112
126
139
153
167
181
192
203
212
221
229
234
238
240
240
238
234
228
220
211
201
190
177
164
150
135
123
109
95
82
70
61
52
45
38
35
31
31
33
36
42
49
57
66
78
90
103
117
130
144
158
172
185
196
206
216
224
231
236
239
240
239
236
232
225
217
207
197
186
173
159
145
131
118
104
91
78
67
58
49
42
37
33
31
31
34
38
44
52
60
70
81
94
108
122
135
149
163
176
189
199
209
219
227
232
237
240
240
239
235
230
224
214
204
193
182
168
154
140
127
113
99
86
74
63
54
47
40
36
31
31
32
35
39
46
54
63
74
85
98
112
126
139
153
167
181
192
203
213
221
229
234
238
239
240
237
233
228
220
211
200
190
177
164
150
136
122
109
94
82
70
61
52
44
38
34
31
31
33
37
42
49
57
66
77
90
103
117
130
144
158
172
185
196
206
216
225
230
236
238
240
239
236
231
225
217
208
197
186
173
159
145
131
118
104
90
78
67
58
49
42
36
33
31
31
34
38
44
51
60
69
81
94
108
121
134
148
163
176
189
199
210
219
227
233
237
239
239
238
235
230
222
214
204
193
182
168
154
140
127
113
100
86
74
63
54
47
40
35
31
31
32
35
39
46
54
63
73
85
99
112
127
139
153
167
180
192
203
212
221
229
235
236
240
241
235
234
229
220
210
200
192
176
164
149
136
124
107
95
82
70
61
52
44
37
34
32
31
32
36
41
49
58
66
76
89
103
116
130
143
158
172
185
195
206
217
224
230
236
239
240
239
236
232
225
217
207
197
186
174
160
144
131
118
104
91
78
67
58
49
42
37
33
31
31
34
38
44
51
60
70
81
94
107
121
134
148
163
176
188
199
209
219
227
232
237
240
240
238
235
230
223
214
204
193
182
169
155
141
127
113
100
86
74
63
55
47
40
35
32
31
32
35
39
46
54
63
74
85
99
112
126
139
153
167
180
192
203
212
222
229
235
238
240
240
237
234
228
220
211
200
190
178
164
150
136
123
109
96
82
71
61
52
44
38
34
31
31
33
37
42
49
57
66
78
90
103
116
130
144
158
171
184
195
207
216
224
231
235
239
240
240
237
232
225
217
208
196
186
173
160
145
131
118
104
91
78
67
58
49
42
37
33
31
31
34
38
44
51
60
70
81
94
107
121
134
149
163
176
188
199
210
219
227
233
237
240
240
239
235
230
223
214
204
193
182
169
155
141
127
113
99
86
74
63
55
47
40
35
31
31
32
35
39
47
54
63
73
85
98
112
126
139
153
167
181
192
203
213
221
228
235
238
240
240
238
233
228
220
211
201
190
178
164
150
136
122
109
95
82
71
61
52
44
38
34
31
31
33
36
42
49
57
66
77
89
103
116
130
146
157
169
186
194
204
219
224
229
238
238
238
241
236
231
227
217
207
197
186
174
160
145
131
119
104
91
79
67
57
50
42
37
33
31
31
33
38
44
51
60
70
81
94
108
121
134
148
163
176
188
199
210
219
227
233
237
239
240
238
235
230
222
214
204
193
182
169
155
141
127
113
100
86
75
63
55
47
40
35
31
31
31
35
39
46
54
63
73
85
98
112
126
139
153
167
180
192
202
212
221
229
234
238
239
240
238
234
228
220
211
201
190
178
164
150
136
123
109
95
83
71
61
52
45
39
34
31
31
33
36
42
48
57
66
76
89
103
117
129
143
157
172
184
196
206
215
223
232
237
237
240
239
237
232
224
218
208
197
185
174
159
145
132
118
103
90
79
67
58
49
42
36
34
31
31
33
37
44
51
60
69
81
93
107
121
133
148
163
175
187
199
210
218
226
232
237
240
239
238
235
229
224
214
204
193
182
169
155
140
127
113
100
86
74
63
55
47
40
35
31
31
31
35
40
46
54
63
73
84
98
111
125
138
153
166
179
192
202
212
221
228
233
238
240
240
237
233
228
220
211
200
190
178
165
150
136
123
109
96
83
71
61
53
44
38
34
31
31
33
36
41
48
57
65
76
89
102
116
129
144
157
171
184
195
206
216
224
230
235
238
240
239
237
232
225
217
208
197
186
173
160
146
132
118
105
91
79
67
58
49
42
37
34
31
31
34
38
43
51
60
69
80
93
106
120
134
148
162
175
188
199
209
218
226
232
236
239
240
238
235
230
224
214
205
193
183
169
155
141
127
114
100
87
74
64
55
47
41
35
31
31
32
34
39
46
54
63
73
84
98
111
125
139
152
167
180
192
202
212
221
229
234
238
240
240
237
233
227
220
211
201
190
178
164
151
136
123
109
96
83
71
61
52
45
38
34
31
31
33
36
41
48
57
66
77
89
102
116
130
143
157
172
185
195
206
216
224
231
236
239
240
239
236
232
225
217
208
197
186
173
160
146
131
118
105
91
78
67
58
49
42
37
33
31
31
34
38
43
51
60
70
81
94
107
121
134
148
162
176
189
199
209
219
227
231
238
240
240
238
235
232
221
215
206
192
183
167
156
141
127
113
100
87
75
63
55
47
41
35
31
31
31
35
39
46
54
63
73
85
98
112
125
138
154
167
180
192
203
212
221
229
234
238
239
239
238
234
227
220
211
200
190
178
164
150
136
123
109
95
83
70
61
52
44
38
34
31
31
33
37
42
48
57
66
77
90
103
117
130
144
158
172
185
196
207
216
225
231
236
239
240
239
236
232
226
217
208
197
186
173
160
146
131
118
104
91
78
67
58
49
43
37
33
31
31
34
38
44
51
60
69
81
94
108
122
135
148
162
176
189
199
210
219
227
233
237
240
240
238
235
230
222
214
204
193
182
169
155
141
127
114
100
87
75
63
55
47
39
35
32
31
32
35
39
46
54
63
73
85
98
112
125
139
153
167
180
192
202
213
221
229
234
238
240
239
238
233
228
220
211
201
190
178
164
150
136
123
109
96
83
71
61
52
44
38
34
31
31
33
36
41
48
57
66
77
89
102
116
129
143
157
171
184
195
206
215
224
230
235
238
240
239
236
232
226
218
208
198
186
174
160
146
132
119
105
91
79
67
58
49
42
37
33
31
31
34
37
43
50
60
69
81
93
107
121
134
148
162
175
188
198
209
218
226
232
236
239
240
238
235
230
224
214
204
193
182
169
155
141
127
114
100
87
75
63
55
47
40
35
32
31
32
35
40
46
54
63
73
84
98
111
125
138
153
167
180
192
202
212
221
229
234
238
240
239
237
234
228
221
211
201
191
178
164
151
136
123
109
96
82
71
61
52
44
38
34
31
31
33
36
41
48
57
66
77
89
102
116
129
143
157
171
184
195
206
216
224
230
235
239
240
239
236
232
225
218
208
198
187
174
160
146
132
118
105
91
79
68
58
49
44
39
30
30
33
30
38
46
48
60
70
78
93
108
119
134
148
160
175
187
198
209
218
225
232
237
238
241
239
235
230
224
215
205
194
183
169
155
142
128
114
100
88
75
63
56
47
40
35
32
30
31
34
39
46
54
63
72
84
97
111
124
138
152
166
179
192
202
212
221
228
234
238
240
240
238
234
228
221
212
201
192
179
165
151
137
124
110
96
83
72
62
53
45
39
34
31
31
33
36
41
48
57
65
76
89
102
115
128
142
157
170
184
194
206
215
224
230
236
239
240
239
236
232
226
218
208
198
187
174
161
146
132
119
106
92
79
68
59
50
43
37
33
31
31
34
37
43
50
59
68
80
92
106
120
133
147
161
175
187
198
209
218
226
232
237
239
240
239
235
230
224
215
205
194
183
170
156
142
128
114
100
87
75
65
55
47
39
37
34
29
31
35
40
45
52
63
73
84
96
111
125
138
152
166
179
192
202
212
221
228
234
238
240
240
238
233
228
221
212
202
190
178
165
152
138
124
109
97
84
71
62
53
45
38
34
31
31
33
35
41
48
56
65
76
88
102
115
129
142
156
170
183
194
206
216
224
230
235
239
240
240
237
232
226
218
209
198
187
174
161
146
132
119
105
92
79
68
59
50
42
37
33
31
31
34
38
43
51
59
68
80
93
106
120
133
147
161
175
188
198
209
218
226
232
237
239
240
238
235
230
224
215
205
194
183
170
156
142
127
114
101
87
75
64
56
47
40
36
33
31
31
35
39
45
53
63
72
84
97
111
125
138
152
166
179
192
201
212
221
229
234
238
240
240
238
234
228
221
211
202
192
178
165
151
137
124
110
96
84
71
62
53
45
39
34
31
31
33
36
41
47
56
65
76
89
102
116
128
143
156
171
184
194
205
216
224
230
237
238
241
237
237
235
224
218
209
197
187
173
161
147
132
119
105
93
79
68
59
49
43
37
34
31
31
33
37
44
51
60
69
80
93
107
120
133
148
162
174
188
199
209
218
226
233
237
239
240
239
236
230
224
215
205
194
183
170
156
141
127
114
100
87
75
65
55
47
40
36
33
31
31
34
39
46
53
63
72
84
97
111
125
138
152
166
179
192
202
212
221
228
234
238
239
240
237
234
228
221
212
201
192
179
165
151
137
123
110
96
83
71
62
53
45
39
35
31
31
33
36
41
48
56
65
76
89
101
115
128
143
157
170
184
194
205
215
224
230
235
238
240
239
237
232
226
218
208
197
187
174
161
146
132
119
105
91
79
67
59
50
42
37
34
31
31
33
38
43
50
60
68
80
93
106
120
134
147
161
175
188
198
208
218
226
232
237
239
240
239
235
230
224
215
205
194
183
169
156
142
127
114
101
88
75
64
56
47
41
36
33
31
31
34
39
46
53
62
72
83
97
111
124
138
152
166
179
192
201
212
221
228
233
238
240
240
238
234
228
221
212
201
192
178
165
151
137
124
110
96
83
71
62
53
45
39
34
31
31
33
36
41
48
56
65
76
88
101
115
128
142
156
170
183
194
205
215
224
230
235
238
240
239
236
232
226
218
208
198
187
175
161
146
133
119
106
92
79
68
59
50
42
37
33
31
31
34
37
43
50
60
69
80
92
106
120
133
148
161
175
188
198
209
218
226
232
236
239
240
238
235
230
224
215
205
194
183
170
156
142
128
115
101
87
75
64
55
47
41
35
32
31
32
34
39
46
53
63
72
84
97
111
124
138
152
166
179
192
202
212
221
229
234
238
240
240
238
234
229
221
212
202
192
178
166
151
137
124
110
97
83
72
62
53
45
39
34
31
31
33
36
41
48
57
65
76
89
102
115
128
142
157
170
184
194
205
215
224
230
235
239
240
240
237
232
226
218
208
198
187
175
161
147
132
119
106
92
80
68
59
50
43
37
33
31
31
33
37
44
51
59
68
80
93
106
120
133
147
161
175
187
198
208
218
226
232
237
239
240
239
236
230
224
216
208
192
183
172
153
144
131
112
102
90
73
66
57
46
42
36
31
30
32
34
40
45
53
63
72
83
98
111
124
137
152
165
178
192
202
212
220
228
234
238
240
240
238
234
229
221
212
202
192
179
165
152
137
124
110
97
83
71
62
52
45
38
34
31
31
32
36
41
48
56
65
76
88
101
115
128
142
157
170
184
194
205
215
224
230
235
239
240
240
237
232
226
218
208
198
188
174
162
147
133
119
106
92
79
68
59
50
43
37
33
31
31
34
38
43
51
59
68
80
93
106
120
133
147
161
175
187
198
208
218
225
232
237
239
240
239
236
230
224
216
205
194
183
170
156
142
127
114
101
87
75
63
56
47
41
36
32
31
31
34
39
46
54
63
72
84
98
111
125
138
152
167
180
192
202
212
221
229
235
238
240
240
238
234
228
221
212
202
192
178
165
151
137
124
110
96
83
71
62
52
45
38
35
31
31
33
36
41
48
57
65
77
88
102
115
128
143
157
171
184
194
205
215
224
230
235
239
240
239
237
232
227
218
209
198
186
174
162
146
133
118
106
93
78
69
59
51
43
36
34
32
31
33
38
43
50
59
68
79
93
106
120
133
147
161
175
187
198
208
218
226
232
237
238
240
239
236
230
224
215
204
195
184
169
156
143
128
115
101
88
76
65
56
48
41
35
33
31
31
34
39
45
53
62
71
83
97
110
124
137
151
165
179
191
200
211
221
227
235
237
238
239
239
236
227
221
214
201
192
178
167
153
137
125
110
98
83
72
62
53
45
39
34
31
31
32
35
41
47
56
64
75
88
102
115
127
142
156
170
183
194
204
214
223
231
235
238
240
240
237
232
227
218
209
199
188
175
162
147
133
120
106
92
80
68
59
50
43
37
33
31
31
33
37
43
50
59
68
79
92
105
119
132
146
160
174
187
197
208
218
226
231
237
239
240
239
236
230
224
216
206
195
184
171
157
143
128
116
102
89
76
65
56
48
41
36
33
31
32
34
39
45
53
62
71
83
96
110
123
137
150
165
178
191
201
211
221
228
233
238
240
240
238
234
229
221
212
203
192
180
166
153
138
125
111
98
84
73
62
53
46
39
35
31
31
33
36
41
47
56
63
76
87
101
114
127
141
155
170
182
194
204
215
224
230
235
238
240
240
237
232
226
219
209
199
188
175
162
148
133
120
106
92
80
68
59
51
43
37
33
31
31
33
37
43
51
59
68
79
92
105
119
133
147
161
174
187
197
208
217
226
232
236
239
240
239
236
231
224
215
205
195
184
171
157
142
129
115
102
88
76
65
56
47
41
36
33
31
31
35
39
45
53
62
72
84
97
110
124
137
152
165
179
191
201
212
221
229
234
238
240
240
238
234
229
221
212
202
192
179
166
152
137
124
111
97
84
72
63
53
45
39
35
31
31
33
35
41
47
56
65
76
88
101
114
128
142
156
170
183
194
205
215
224
230
235
238
240
239
237
232
227
218
209
198
188
175
161
147
133
120
106
93
80
69
59
50
43
37
34
31
31
33
38
43
50
59
68
79
92
106
119
132
146
160
174
187
198
208
218
226
232
236
239
240
239
235
230
224
215
205
195
184
171
157
143
129
115
102
88
76
65
56
48
41
36
33
31
31
34
39
45
53
62
71
83
97
110
124
137
151
165
179
191
201
212
221
228
234
238
240
240
238
234
228
221
212
202
192
179
166
152
138
124
110
97
84
72
62
53
45
39
34
31
30
33
36
41
47
56
65
76
88
101
115
128
142
156
170
183
194
205
214
224
230
235
238
240
239
237
232
226
218
209
198
188
175
162
147
133
120
106
92
80
68
59
50
43
37
33
31
31
33
37
43
50
58
68
80
92
106
119
133
146
161
174
187
197
208
217
225
232
236
238
240
239
236
231
224
216
206
194
184
170
157
142
129
116
102
88
76
65
56
47
41
36
33
30
31
34
39
45
53
62
71
83
96
110
124
137
151
165
181
191
198
213
220
225
236
238
237
242
238
232
230
221
211
203
192
178
166
152
138
125
110
97
85
72
62
54
45
38
34
31
31
31
36
40
47
56
65
75
87
101
115
127
142
156
169
183
193
205
214
223
230
235
238
240
239
236
232
226
219
209
198
187
175
161
148
133
120
107
93
80
68
59
50
43
37
33
31
31
33
37
43
50
59
68
79
91
105
119
132
146
160
174
186
197
208
217
225
231
236
239
240
239
236
230
224
216
206
194
184
171
157
143
129
116
102
88
76
65
56
48
41
36
33
31
31
34
39
44
53
62
71
83
97
110
123
137
151
165
178
190
201
211
220
228
233
237
239
239
238
234
229
221
212
202
192
179
166
152
138
125
111
97
84
72
62
53
46
39
34
31
31
33
36
40
47
55
63
75
87
100
114
127
141
156
169
182
193
205
214
224
230
235
238
239
239
237
232
226
218
209
198
188
175
162
148
134
120
106
93
80
68
59
50
43
37
34
31
31
33
37
43
50
59
67
79
92
105
119
132
145
160
174
186
196
208
217
225
234
234
239
242
237
236
230
225
215
206
195
184
172
156
143
130
115
102
89
76
66
56
48
41
36
33
31
31
34
39
45
53
62
71
83
95
110
124
136
150
165
178
190
201
212
221
227
233
239
237
240
240
233
228
221
213
202
192
179
167
153
138
126
111
98
85
73
63
53
46
39
34
31
31
32
35
40
47
55
63
75
88
100
114
127
141
156
169
182
192
204
215
222
229
236
238
240
239
237
233
227
219
209
199
188
176
162
148
134
121
107
93
80
69
60
51
43
37
34
31
31
33
37
43
50
59
67
79
91
105
118
132
146
160
174
186
197
208
217
225
232
236
239
240
239
236
231
224
216
206
195
184
171
157
143
129
116
102
89
76
66
57
48
41
35
33
31
32
34
39
45
53
62
71
83
96
109
123
137
151
165
178
192
201
211
220
228
234
238
239
240
238
234
229
221
213
203
192
180
167
152
138
125
111
98
84
72
63
53
45
39
35
31
31
31
36
41
47
56
65
76
87
100
114
127
141
155
170
182
193
205
214
224
230
235
238
240
240
237
233
226
219
209
199
188
176
162
148
134
120
107
93
81
69
60
51
43
38
34
31
31
33
37
43
50
59
67
79
91
105
118
132
146
159
174
186
197
208
217
225
231
236
239
240
239
236
231
224
216
206
195
184
171
157
143
129
116
102
89
76
66
56
48
41
36
33
31
31
34
39
45
53
62
71
83
96
109
123
136
150
165
178
190
201
211
220
227
233
237
240
240
238
234
229
221
213
202
192
179
166
153
138
125
111
98
84
73
63
54
45
39
35
31
30
32
36
42
47
55
63
75
88
101
113
127
141
155
169
182
193
204
214
223
230
235
239
240
240
237
232
227
219
209
199
188
175
162
147
133
120
107
93
80
69
59
51
43
37
33
31
31
34
37
43
50
59
67
79
92
105
118
132
146
160
173
186
198
209
217
225
231
236
239
240
239
236
230
224
216
206
195
184
171
157
143
129
116
102
89
76
65
57
48
41
36
33
31
31
34
38
45
52
62
72
84
96
109
123
137
150
165
178
190
201
211
220
227
234
237
240
240
238
234
229
221
212
203
192
180
166
152
138
125
111
97
84
72
63
53
45
39
35
31
31
32
36
41
47
55
63
75
87
101
114
127
141
155
169
182
193
204
214
222
230
236
239
239
239
237
233
227
219
209
199
188
175
162
148
134
120
107
93
80
69
60
50
43
38
34
31
31
34
37
42
50
58
67
78
91
105
119
132
145
159
173
187
197
208
217
225
231
236
239
240
239
236
231
224
216
206
195
184
171
157
143
129
116
102
88
76
65
57
48
41
36
33
31
31
34
39
45
53
62
70
82
96
110
123
137
150
164
178
190
200
211
220
228
234
237
240
240
238
234
229
221
213
203
192
180
167
153
139
126
111
98
85
73
63
53
46
39
34
31
34
31
32
42
46
54
67
74
85
103
113
126
143
155
168
183
192
203
214
222
230
235
238
239
240
236
233
228
219
209
199
189
175
162
148
134
120
107
94
81
69
60
51
43
38
34
31
31
33
37
43
50
58
67
78
91
104
118
131
145
159
173
186
197
208
217
226
232
237
239
240
239
236
231
224
216
206
195
185
172
158
144
129
116
102
89
76
65
57
48
41
36
33
31
31
34
38
44
52
62
71
83
95
109
123
136
151
164
178
190
201
211
220
227
233
237
239
240
238
234
228
222
212
203
192
180
167
153
139
125
111
98
85
72
63
53
46
39
35
31
31
33
35
41
47
56
63
75
87
100
113
127
141
155
169
181
194
204
214
225
227
236
240
239
239
237
234
226
218
209
199
189
175
162
149
134
121
107
93
80
69
60
51
44
37
34
31
31
33
37
43
50
58
67
78
91
106
118
132
146
160
173
186
197
208
218
225
232
236
239
240
239
235
230
224
216
206
195
184
171
157
143
129
115
102
89
76
65
56
48
41
36
32
31
31
35
39
45
52
62
72
83
97
110
124
136
151
165
178
191
201
211
220
228
233
237
239
240
238
235
228
222
212
202
192
180
167
153
139
125
111
97
85
72
63
54
46
39
34
31
31
32
35
40
47
55
63
75
87
100
114
127
141
155
169
182
193
204
214
222
230
235
238
240
239
237
233
227
219
210
199
188
176
162
148
134
121
107
94
80
69
60
50
43
37
34
31
31
33
37
42
50
59
67
79
92
103
117
133
146
158
174
186
197
208
216
225
232
236
238
240
239
236
231
225
216
207
196
184
171
158
143
129
116
103
90
77
65
56
48
42
36
33
31
31
35
38
44
53
61
70
83
96
109
123
136
150
165
177
190
200
211
220
228
233
237
239
240
237
234
229
222
213
202
192
180
167
153
139
125
111
98
85
73
63
54
45
39
35
31
31
32
35
41
47
55
63
75
86
100
114
127
141
155
169
182
193
204
213
222
230
235
238
240
240
237
233
227
219
210
199
188
176
162
149
134
121
107
93
81
69
60
51
44
37
34
31
31
33
37
42
50
58
67
78
91
104
118
131
145
159
173
186
196
208
217
225
231
236
239
240
239
236
231
225
216
207
195
184
172
158
144
129
116
103
89
77
66
57
48
41
36
33
31
31
34
38
45
52
61
71
83
96
109
123
136
150
164
177
190
200
211
220
228
233
237
239
240
238
235
229
221
213
203
192
180
167
153
139
125
111
98
85
73
63
54
46
39
35
32
31
31
35
40
47
55
63
74
87
100
114
127
141
155
168
182
193
205
214
223
230
235
238
240
239
237
233
227
219
210
199
188
176
162
148
134
121
107
93
81
69
60
51
43
38
34
31
31
33
37
42
49
58
67
78
90
104
118
131
145
159
172
185
196
207
217
225
231
236
239
239
239
236
231
225
216
207
196
185
172
158
144
130
117
103
90
77
66
57
49
41
36
33
31
31
34
38
44
52
61
70
82
95
108
122
136
150
163
177
189
200
210
219
228
233
238
239
240
238
235
229
222
213
203
192
180
167
153
139
126
111
98
85
73
63
54
46
39
35
31
31
33
35
41
47
55
63
74
87
100
113
127
140
155
169
182
192
204
213
222
229
235
238
240
240
237
233
227
219
210
200
189
176
163
148
134
121
107
93
81
69
60
51
43
38
34
31
31
33
37
43
49
58
67
78
90
104
118
131
145
159
173
185
197
207
217
225
231
236
238
240
239
236
231
225
216
207
196
185
172
158
144
130
117
103
90
77
66
57
48
41
36
33
31
31
34
38
44
52
61
70
82
95
108
122
135
149
164
177
189
200
210
220
227
233
237
239
240
238
235
229
222
213
203
192
180
167
153
139
126
112
98
85
74
63
54
46
39
35
31
31
32
35
40
47
55
63
74
86
100
114
127
140
154
168
181
193
204
213
222
230
235
238
240
240
237
232
227
219
209
199
192
175
159
150
132
120
110
93
80
72
59
50
45
37
33
33
31
31
36
42
50
58
67
79
92
104
118
132
145
158
173
186
196
207
217
225
231
236
239
240
239
236
231
225
217
207
196
185
172
158
144
129
117
102
89
77
66
57
48
42
36
33
31
31
34
38
44
52
61
70
82
95
109
122
136
149
163
177
188
200
211
217
227
234
237
238
239
240
234
230
221
214
205
192
181
168
154
139
127
112
99
85
73
63
54
46
39
35
31
31
31
35
40
47
55
63
74
87
99
112
127
140
153
168
182
192
203
214
222
230
234
239
240
240
237
233
228
219
210
200
189
176
163
149
135
121
107
94
81
70
60
52
44
38
34
31
31
33
37
42
50
58
67
78
90
103
118
131
145
159
173
185
196
208
217
225
231
236
239
240
239
236
231
225
217
208
196
185
173
158
144
130
117
103
90
78
66
58
49
42
36
33
31
31
34
38
44
52
61
70
82
95
108
122
135
150
163
177
189
200
210
220
227
233
237
240
240
238
234
229
222
214
204
192
181
168
154
140
126
112
99
86
74
63
54
47
40
35
32
31
33
35
40
46
55
63
74
86
99
112
127
140
154
168
181
192
203
213
221
229
235
238
240
240
237
233
227
220
210
200
189
176
163
149
135
122
108
94
81
70
61
52
44
38
34
31
31
33
37
42
49
58
66
78
90
103
117
130
144
158
172
185
196
207
217
225
231
236
239
240
239
236
231
225
217
208
196
185
172
159
144
131
117
103
90
77
66
57
49
42
36
33
31
31
34
38
44
52
61
70
82
95
108
122
135
149
163
177
189
200
210
219
227
233
237
239
240
238
235
229
222
214
204
193
181
168
154
140
127
113
99
86
73
63
55
45
39
37
32
30
33
35
41
47
54
63
75
86
99
113
127
140
155
168
181
193
203
214
222
230
235
238
240
240
237
233
227
220
210
200
189
177
163
149
135
122
107
95
82
69
60
52
44
38
34
31
32
33
36
43
50
58
67
78
90
104
118
131
145
159
172
186
197
207
217
225
231
236
239
240
239
236
230
225
217
208
196
185
172
159
144
131
117
103
90
78
66
57
48
42
37
33
31
31
34
38
44
52
61
70
81
95
108
122
135
149
163
176
189
200
211
220
227
232
237
240
240
238
234
229
222
214
204
193
181
168
154
140
127
113
99
86
74
63
55
46
40
35
31
31
32
36
40
47
55
63
74
86
99
112
126
140
154
168
181
192
203
214
222
229
235
238
240
240
237
233
227
220
211
200
189
177
163
149
135
122
108
95
82
70
61
51
44
38
34
31
31
33
36
42
49
58
66
78
90
103
117
131
144
158
172
185
196
207
216
224
231
236
239
240
239
236
231
225
217
207
196
186
172
159
145
130
117
104
90
78
67
57
49
42
37
33
31
31
34
38
44
52
61
70
82
95
108
122
135
149
163
176
189
199
210
219
227
233
237
239
240
238
235
229
222
214
203
192
181
168
154
139
126
112
99
85
74
63
54
46
40
35
32
31
33
35
40
47
55
63
73
85
99
112
126
139
154
168
181
192
203
213
222
229
234
238
240
239
237
233
227
220
210
200
189
176
163
149
135
122
108
94
81
70
61
51
44
38
34
31
31
33
36
42
49
57
66
78
90
104
117
130
144
158
172
185
196
206
216
224
231
236
238
240
239
236
231
225
216
207
196
186
172
158
144
130
117
103
90
77
66
57
48
42
36
33
31
31
34
38
44
52
60
70
82
95
108
122
135
149
163
177
189
199
210
219
227
233
237
240
239
238
234
229
222
213
203
192
181
168
153
140
126
112
99
86
74
63
54
46
39
35
31
31
31
35
40
47
54
63
73
86
99
113
126
140
154
167
181
192
203
213
222
229
234
238
240
239
237
233
227
220
210
200
189
176
163
149
135
122
107
94
81
70
60
52
44
38
34
31
31
33
36
42
49
58
66
78
90
103
117
130
144
159
171
185
198
208
213
225
233
231
240
243
236
237
232
223
218
208
195
186
173
157
144
130
117
103
90
77
67
57
48
43
37
32
31
31
33
38
45
51
60
70
82
94
108
123
135
149
163
177
189
199
209
219
227
233
237
239
239
238
235
229
222
214
204
192
181
168
154
140
127
112
99
86
74
63
55
46
40
35
32
31
33
35
39
47
55
63
74
85
98
112
127
140
154
167
181
192
204
213
221
229
235
238
239
240
237
233
227
220
210
200
189
177
163
149
135
122
109
94
81
69
61
52
44
38
34
31
31
33
37
42
49
58
66
78
90
103
117
130
144
158
172
185
196
207
217
225
231
236
239
240
239
236
231
225
216
207
196
185
173
158
145
131
117
103
90
77
66
57
48
42
36
33
31
31
34
38
44
52
61
70
82
94
108
122
135
149
163
176
189
199
210
220
227
233
237
240
240
238
235
229
222
213
204
192
181
168
154
140
127
112
99
86
74
63
54
46
40
35
31
31
32
35
40
47
55
63
74
86
99
113
127
140
154
168
181
192
203
213
222
229
234
238
240
240
237
233
227
220
211
200
190
177
164
149
135
122
108
94
82
70
61
52
44
38
34
31
31
33
37
42
49
58
66
78
90
103
117
130
144
159
172
185
196
207
216
225
231
236
239
240
239
236
232
225
217
207
197
186
173
159
145
131
118
104
90
78
66
58
49
42
36
33
31
31
34
38
45
52
61
70
82
94
108
122
135
149
163
176
188
199
209
219
227
233
237
240
240
238
235
230
223
214
204
193
182
168
154
140
127
113
99
86
74
63
55
46
40
35
32
31
32
35
40
46
54
63
74
86
99
112
126
140
153
167
180
192
203
213
222
229
234
238
240
240
238
233
228
219
211
200
190
177
163
150
135
122
108
95
82
70
61
52
44
38
34
31
31
33
36
42
49
57
66
78
90
103
117
130
144
158
172
185
196
207
216
224
231
236
239
240
239
236
231
225
217
208
196
185
174
159
144
131
118
104
90
77
67
58
49
41
37
33
31
31
34
37
44
51
60
69
81
94
108
121
135
149
163
176
188
199
209
219
226
232
237
239
240
238
235
230
222
214
205
193
182
168
155
141
127
113
100
86
74
63
55
46
39
35
32
31
31
35
40
46
54
63
73
85
98
111
125
139
153
167
180
192
203
213
221
229
234
238
240
240
238
233
228
220
211
200
190
177
164
149
136
122
108
95
82
70
61
52
44
38
34
31
31
32
37
42
48
57
66
77
90
103
117
130
144
158
172
185
196
206
217
225
232
235
238
239
239
236
232
225
217
208
197
186
173
159
145
131
117
104
90
78
67
58
49
42
36
33
31
31
34
38
44
52
60
69
82
95
109
121
134
149
163
176
188
199
210
219
227
233
237
239
239
238
235
229
222
214
204
193
181
169
155
140
127
113
100
86
75
63
55
47
40
35
31
31
31
35
39
46
54
63
73
85
99
112
126
139
153
167
180
192
203
213
222
229
234
238
240
239
238
233
228
220
211
201
190
178
164
150
136
123
109
95
82
71
61
52
45
38
34
31
31
33
37
41
48
57
66
77
89
103
116
130
144
158
172
184
196
207
216
224
231
236
239
240
239
236
231
225
217
208
197
186
173
159
145
132
118
104
91
79
67
58
49
42
37
33
31
31
34
38
44
51
60
69
81
94
107
121
134
148
163
176
188
199
209
219
227
232
237
239
240
238
235
229
224
214
204
193
182
169
155
141
127
114
100
86
74
63
55
47
40
35
31
31
32
35
40
46
54
63
73
85
98
112
126
140
152
168
181
191
203
214
222
228
234
239
239
239
237
234
228
219
211
201
190
177
164
150
135
123
108
94
82
70
61
52
44
38
34
31
31
33
37
41
49
58
66
77
90
103
116
130
144
159
172
184
196
206
216
224
231
235
239
240
239
236
231
225
216
207
196
186
173
158
144
130
117
103
90
77
67
57
49
42
36
33
31
31
33
40
45
48
61
70
79
97
109
119
136
150
160
178
190
198
211
219
225
233
238
239
240
237
234
230
222
214
205
193
180
168
155
139
127
113
100
86
74
63
55
47
40
35
32
31
31
35
39
47
54
63
73
85
99
112
126
139
153
167
180
192
203
213
221
229
235
238
240
240
238
234
228
220
210
200
189
177
164
150
136
122
108
95
82
70
61
52
44
38
34
31
31
33
36
42
49
57
66
77
90
103
117
130
144
158
172
184
196
206
216
224
231
236
239
240
239
237
232
226
217
208
196
186
173
160
146
131
118
104
91
78
67
58
50
42
37
33
31
31
34
38
43
51
60
70
81
94
107
121
134
148
162
175
188
199
209
219
226
233
237
239
240
239
235
230
224
215
204
193
182
169
155
141
127
114
100
88
75
63
55
47
41
36
31
31
31
35
39
46
53
63
73
85
98
111
125
139
153
166
180
192
202
212
221
229
234
238
240
240
237
234
229
222
212
201
190
178
164
151
136
123
109
96
83
71
61
52
45
38
35
31
31
33
36
42
48
57
66
77
89
103
116
129
144
158
171
184
195
206
216
224
231
236
239
240
239
237
232
226
218
208
197
187
174
160
146
132
118
104
91
79
67
58
49
42
37
33
31
31
34
38
43
51
61
69
81
93
107
121
134
148
163
176
188
199
210
218
227
233
237
240
240
238
235
230
223
214
204
193
182
169
155
141
127
113
100
86
75
63
55
47
40
36
31
31
31
35
39
46
54
63
73
85
98
112
126
139
153
167
180
192
202
212
221
229
234
238
240
239
238
234
227
221
211
201
190
178
165
150
136
123
109
95
82
71
61
52
44
38
34
31
31
33
36
42
48
56
65
77
89
103
116
129
144
157
171
184
195
206
216
224
230
236
238
240
239
237
232
226
218
208
197
187
173
160
146
132
118
105
91
79
67
58
49
42
37
33
31
31
33
38
44
51
60
69
80
94
107
121
134
148
162
175
188
198
209
219
226
232
236
239
240
238
235
230
223
215
204
194
183
169
155
141
127
113
100
86
74
63
55
47
39
35
31
31
31
35
40
46
54
63
73
85
98
111
126
139
153
166
181
192
202
212
222
229
233
238
240
240
237
233
227
221
211
200
192
178
164
150
136
122
109
95
82
70
61
52
45
38
34
31
31
33
36
42
48
57
66
77
90
102
116
129
144
158
171
184
196
206
215
224
230
236
239
239
239
236
232
226
217
208
197
186
174
160
146
131
119
105
91
79
67
58
49
42
36
33
31
31
34
38
43
51
60
69
81
93
107
121
134
148
162
175
188
199
210
219
226
232
236
239
240
239
235
230
224
215
204
193
182
168
155
141
127
113
100
86
74
63
55
47
40
35
31
31
31
35
39
46
54
63
73
85
98
111
125
139
153
167
180
192
203
212
221
229
234
238
239
239
238
234
228
220
211
200
190
178
164
150
136
123
109
95
83
71
61
52
45
39
34
31
31
33
36
41
48
57
65
76
89
103
117
130
143
156
171
185
195
206
215
224
230
236
239
240
239
236
232
225
217
208
197
187
174
160
146
131
119
105
91
79
67
58
49
42
36
33
31
31
33
37
43
52
60
69
80
93
107
120
134
148
161
176
187
199
211
217
227
233
237
239
239
239
235
230
222
214
205
193
182
169
155
141
127
113
100
87
75
63
56
47
40
35
32
31
32
35
39
47
54
62
73
85
98
111
125
138
153
166
180
192
203
212
221
228
234
238
240
240
237
234
228
221
211
201
191
178
165
151
137
123
110
96
83
71
62
53
45
39
34
31
31
33
36
42
48
57
66
77
89
102
116
129
143
157
171
184
194
206
216
224
230
236
238
240
239
237
232
226
218
208
197
187
174
160
146
132
119
105
92
79
68
59
50
42
37
34
31
31
34
38
43
50
60
69
80
93
107
121
134
148
162
175
188
198
210
218
226
232
237
239
240
238
236
230
224
215
205
194
182
170
156
141
127
117
99
85
77
63
55
50
39
35
35
30
31
37
38
45
55
62
71
85
97
111
125
137
153
167
179
192
203
212
220
229
234
237
240
240
237
233
228
221
212
201
192
178
165
151
137
123
109
96
83
71
62
52
45
39
34
31
31
33
36
41
48
57
65
76
89
102
116
129
143
157
171
184
195
206
215
224
230
235
238
240
239
237
232
226
217
208
198
187
174
160
146
132
119
105
91
79
67
58
49
42
37
34
31
31
33
38
43
51
60
69
81
93
107
121
134
148
162
175
188
198
209
219
226
232
236
239
240
239
235
230
224
215
205
194
183
170
156
141
127
114
100
87
75
63
55
47
40
35
31
31
31
35
39
46
53
63
73
85
98
111
125
138
153
167
180
192
202
212
221
229
234
239
240
240
238
233
228
221
211
201
191
178
165
151
137
123
109
96
83
71
61
52
45
38
34
31
31
33
36
42
48
57
66
77
89
102
116
129
143
157
171
184
195
206
216
224
230
235
239
240
239
237
232
226
217
208
197
187
173
160
146
132
118
105
91
79
67
59
49
42
37
33
31
31
34
38
43
51
60
69
80
93
107
121
133
147
162
175
189
199
209
218
226
233
237
239
240
239
235
230
224
215
205
194
183
169
156
141
127
114
100
87
75
63
56
47
40
35
33
31
32
35
38
46
54
63
72
84
98
111
125
138
152
166
180
192
202
212
221
228
234
238
240
240
237
234
228
220
212
201
192
178
165
151
137
124
110
96
83
71
62
52
45
39
34
31
31
33
36
41
48
57
65
77
88
102
116
129
143
157
171
184
195
206
216
224
230
236
238
240
239
237
232
226
218
208
197
186
174
160
146
132
119
105
92
79
67
49
49
42
37
33
31
31
33
38
43
51
60
69
81
93
107
120
134
147
162
175
188
198
209
218
226
232
237
239
240
239
235
230
224
215
205
193
182
169
156
141
127
114
100
87
75
63
55
47
40
35
32
31
32
35
39
46
54
63
73
84
98
111
125
138
153
166
180
192
202
212
220
228
234
238
240
240
238
234
228
220
211
201
191
178
165
151
137
123
109
95
83
71
61
52
45
39
34
31
31
33
36
41
48
56
65
76
89
102
116
129
143
157
171
184
195
205
215
224
230
236
239
240
239
236
232
226
218
208
198
187
174
160
146
132
119
105
91
79
67
58
50
42
37
34
31
31
33
38
44
50
58
70
81
92
107
120
133
147
161
175
188
198
208
218
226
232
237
239
239
239
235
230
224
215
204
194
182
170
156
142
127
114
101
87
75
63
56
47
41
36
31
31
31
34
39
46
53
62
72
84
98
111
124
138
152
166
179
192
201
212
221
228
234
237
240
240
238
234
228
221
212
201
192
178
165
151
137
124
110
96
83
71
62
52
45
39
34
31
31
33
36
41
48
57
65
76
88
101
116
129
143
158
169
184
196
204
215
224
231
235
238
240
240
237
231
226
218
208
198
187
174
161
147
132
119
105
92
79
68
59
50
43
37
33
31
31
33
37
43
50
59
69
80
92
106
121
134
148
161
175
188
198
209
218
225
232
236
239
240
239
235
230
224
215
205
194
183
170
156
142
127
114
101
87
75
63
56
47
41
35
33
31
32
35
39
46
53
63
72
84
97
110
124
138
152
166
179
192
202
212
220
228
234
238
240
240
238
233
228
222
213
202
192
178
165
152
137
124
110
97
84
71
62
52
45
39
35
31
31
33
36
41
48
56
65
76
89
101
115
128
142
156
170
183
194
205
216
224
230
234
238
240
240
237
232
226
218
209
198
188
175
161
147
133
119
105
92
79
68
59
50
42
37
33
31
31
34
37
43
51
60
68
80
93
106
120
133
147
161
175
187
197
209
218
226
232
237
239
240
239
235
230
224
215
204
194
183
170
157
142
127
114
100
87
75
64
55
47
41
36
33
31
31
35
39
45
54
63
71
84
97
111
124
138
152
166
179
192
202
212
221
228
233
239
241
237
237
236
225
222
214
199
192
181
163
152
138
123
110
97
82
71
62
53
46
38
34
33
31
33
37
42
47
56
66
76
89
102
115
129
142
157
171
184
195
205
215
224
231
236
239
240
239
237
232
226
218
209
198
187
174
161
146
133
119
105
92
79
68
59
50
42
37
33
31
31
34
37
43
51
60
69
80
93
107
120
133
147
161
175
188
198
209
218
226
232
237
239
240
238
236
230
224
215
205
194
183
170
156
142
127
114
101
88
75
65
56
47
41
36
33
31
31
35
39
46
53
63
72
84
97
111
124
138
152
166
179
192
202
212
221
228
234
238
240
240
237
234
228
221
212
201
192
179
165
152
137
124
110
97
84
71
62
53
45
38
34
31
31
32
36
41
47
56
65
76
88
102
115
128
142
156
170
183
194
205
215
224
230
235
238
240
240
236
232
226
218
209
198
188
174
161
147
132
120
106
92
79
68
59
50
43
37
33
31
31
33
37
43
50
59
68
80
92
106
120
133
147
161
175
187
198
208
218
226
232
237
239
240
239
236
230
224
215
205
194
183
170
156
142
127
115
101
88
75
65
56
47
41
35
33
31
31
35
39
45
53
62
72
84
97
111
124
138
152
165
179
192
201
212
221
228
234
238
240
240
237
233
228
221
212
201
192
179
165
152
137
124
110
97
83
72
62
52
45
39
34
31
31
32
36
40
47
56
65
76
88
102
115
128
142
157
170
184
194
206
215
224
230
235
239
240
239
237
232
227
218
209
198
187
174
161
147
133
119
105
91
79
68
59
50
43
37
33
31
31
34
37
42
50
59
68
80
92
105
120
133
147
161
175
188
198
208
218
226
232
236
239
240
238
235
230
224
215
205
195
183
170
156
141
128
116
102
88
75
63
56
48
41
35
31
31
33
35
39
45
53
62
72
84
97
111
125
138
152
166
179
192
201
212
220
228
233
238
240
240
238
234
229
221
212
202
192
179
166
152
137
125
110
97
83
72
62
53
45
39
34
31
31
33
36
41
48
56
65
76
88
101
115
128
142
157
170
184
194
205
215
223
230
235
239
240
239
237
232
226
219
209
199
188
175
162
147
133
120
106
93
80
69
59
50
43
37
34
31
31
34
37
43
50
59
68
80
92
106
119
133
146
160
174
187
198
208
218
226
232
236
239
240
239
236
230
224
216
206
195
184
170
157
143
128
115
101
88
76
65
56
47
41
36
33
31
31
34
39
45
53
62
72
83
96
111
124
137
152
164
179
192
200
211
220
229
233
237
240
240
239
234
229
221
213
202
192
179
166
152
137
124
111
98
82
72
63
52
45
39
35
32
31
31
36
42
47
56
66
76
88
101
115
128
142
156
170
184
194
205
215
224
230
236
239
240
239
237
232
226
218
209
198
188
174
161
147
132
119
106
92
79
68
59
50
43
37
34
31
31
34
37
43
50
59
68
80
92
106
120
133
147
161
174
187
198
208
218
226
232
237
239
240
238
236
230
224
215
206
195
184
171
156
143
128
115
102
88
76
65
56
47
41
36
33
31
31
34
39
45
53
62
71
83
97
110
124
138
152
166
178
192
201
211
221
228
234
238
240
240
238
234
229
221
213
202
192
179
166
152
138
125
111
97
84
72
62
53
45
39
35
31
31
33
36
41
48
56
64
76
88
101
115
128
142
156
170
183
194
205
215
224
230
235
238
240
239
237
232
226
218
209
198
187
175
162
147
133
120
106
92
80
68
59
50
43
37
33
31
31
34
37
43
50
59
68
80
93
106
120
132
147
161
175
187
198
208
218
226
232
237
239
240
239
236
230
224
215
205
194
184
170
157
143
128
115
101
88
76
65
56
47
41
36
33
31
31
34
39
45
53
62
72
83
97
111
124
138
151
165
178
190
201
212
221
229
233
237
239
240
238
234
228
221
212
202
192
179
166
152
138
124
111
97
84
72
62
53
45
39
35
31
31
31
35
41
47
56
63
75
90
103
111
127
143
153
172
185
192
206
216
221
231
236
237
240
240
236
232
226
219
209
198
187
176
161
147
134
120
105
92
80
68
59
51
43
37
33
31
31
33
37
43
50
59
68
80
92
106
120
132
146
161
174
187
198
208
217
226
232
236
239
240
239
235
230
224
215
206
194
184
170
156
143
129
115
101
89
76
65
56
48
41
36
33
31
31
34
39
45
53
62
71
83
97
110
123
136
151
165
178
191
201
211
220
228
233
238
240
240
238
234
229
221
213
203
192
179
166
152
138
125
111
97
85
73
62
53
45
39
34
31
31
33
36
41
47
56
65
75
88
100
114
127
142
156
169
182
193
204
214
224
230
235
238
240
239
237
233
227
218
209
199
188
176
161
148
134
120
107
93
81
69
60
51
43
37
34
31
31
33
37
43
50
59
68
79
92
106
119
133
146
161
174
186
198
208
217
226
232
237
239
240
239
236
230
224
215
206
194
184
171
157
143
129
115
102
88
76
65
56
48
41
36
33
31
32
34
39
45
53
62
71
83
97
110
124
137
151
165
179
192
201
212
221
228
233
238
239
240
238
235
229
221
212
202
192
179
166
152
138
124
111
97
84
72
62
53
46
39
34
31
31
32
36
41
47
56
65
75
88
101
114
127
142
156
170
183
194
205
214
224
230
235
238
240
239
237
233
227
219
209
199
188
176
162
148
133
120
106
92
80
69
60
50
43
38
34
31
31
34
37
43
50
59
68
79
92
105
119
132
146
161
174
187
198
208
218
226
232
236
239
240
239
236
230
224
216
206
195
184
171
157
143
129
115
102
88
76
65
56
47
41
36
32
31
31
35
39
45
53
62
71
83
96
110
123
137
151
164
178
190
201
211
220
228
234
238
239
240
238
235
229
221
213
202
192
180
166
152
139
125
111
98
85
73
63
54
46
39
34
31
31
33
36
41
47
56
65
75
88
100
114
127
141
155
169
182
193
204
214
223
230
235
239
240
239
237
232
227
219
209
199
188
176
162
148
133
120
107
94
81
68
59
51
44
38
34
31
31
33
37
43
50
58
67
79
91
106
118
132
147
159
174
188
197
207
217
226
232
236
239
240
239
235
231
225
216
206
194
184
171
158
143
128
115
102
89
77
65
56
48
41
36
33
31
31
35
39
44
52
62
71
83
96
110
123
137
150
165
178
190
201
211
220
228
234
238
239
240
238
234
229
221
212
202
192
179
166
152
138
125
111
97
84
73
63
53
45
39
34
31
31
33
36
41
47
56
65
75
88
100
114
127
141
155
170
183
194
205
214
224
230
235
239
240
240
237
232
226
219
208
198
188
175
161
148
133
120
106
92
80
68
60
50
43
37
33
31
31
33
37
42
50
59
68
79
92
106
118
132
147
160
173
187
197
208
217
225
232
237
239
240
239
236
230
225
215
205
194
184
171
157
143
129
115
102
88
76
65
56
48
41
36
33
31
31
35
39
45
53
62
72
82
96
111
124
137
151
165
179
191
201
212
221
228
233
238
239
240
238
234
228
221
213
202
192
179
166
152
138
125
111
98
84
72
63
53
45
39
34
31
31
32
36
41
47
56
65
75
88
100
114
127
142
156
169
182
193
205
214
223
230
235
238
240
239
237
233
227
219
209
199
188
175
162
148
133
120
107
93
80
69
60
50
43
38
33
31
31
33
37
43
50
59
68
79
91
105
119
132
146
159
173
186
197
208
217
226
232
237
239
240
239
236
230
224
216
206
195
184
171
157
143
129
115
102
89
76
65
56
48
41
36
33
31
32
34
39
45
52
62
71
83
96
109
123
136
151
165
178
190
201
211
220
228
233
238
240
240
238
234
229
221
213
203
192
180
166
152
139
125
111
98
84
72
63
53
45
39
35
32
31
32
36
41
48
56
64
75
88
101
115
127
142
156
169
183
194
205
214
223
230
235
239
240
240
237
232
227
219
209
199
188
175
162
148
133
120
107
92
80
71
60
47
45
37
31
35
31
31
39
43
48
61
68
79
93
105
118
132
146
161
174
186
197
208
217
225
233
237
239
240
239
236
231
225
216
206
195
185
171
158
144
129
116
103
89
77
65
56
48
41
37
33
31
31
35
39
45
52
62
71
82
96
110
124
136
150
165
178
192
201
211
220
228
234
238
240
240
238
235
229
222
213
203
192
180
167
153
139
125
111
98
84
73
63
54
45
39
35
33
31
33
35
40
47
56
63
75
87
100
114
127
141
154
169
182
193
204
214
223
230
235
238
240
239
237
232
227
219
210
199
188
176
162
148
134
120
107
93
81
69
60
51
44
37
34
31
31
33
37
43
50
58
67
79
91
105
118
132
145
160
173
187
197
208
217
225
231
236
239
240
239
236
231
224
216
206
195
184
171
157
143
129
116
102
89
77
66
57
48
41
36
33
31
31
34
38
45
52
62
71
82
96
109
123
136
150
164
178
190
200
211
220
227
233
237
239
240
238
234
228
221
213
202
192
180
167
153
139
126
111
97
85
73
63
54
46
39
34
31
31
33
36
40
47
55
63
74
87
100
113
127
140
155
169
182
193
204
214
222
230
235
239
240
239
237
232
227
219
209
199
188
175
162
148
134
121
106
93
80
69
60
51
43
37
34
31
31
33
37
42
49
58
67
79
91
105
118
132
145
159
173
186
196
208
217
225
231
236
239
239
238
235
231
224
216
206
195
184
171
158
143
129
116
102
89
76
65
56
48
41
36
33
31
31
34
38
44
52
62
71
83
96
109
122
136
150
164
177
190
200
211
220
227
233
237
239
240
238
234
229
221
213
202
192
180
166
153
138
125
111
98
84
73
63
54
46
39
34
31
31
31
35
40
47
55
63
75
87
100
113
127
141
154
169
183
193
204
214
224
229
235
237
240
240
237
232
227
219
209
199
188
175
162
148
133
121
106
93
81
69
60
51
43
37
34
31
31
33
37
43
49
58
68
79
91
105
119
132
145
159
173
186
197
207
217
225
232
236
239
240
239
236
231
224
216
206
195
185
171
158
143
129
116
102
89
76
66
57
47
41
36
33
31
31
34
39
45
52
62
71
83
96
109
123
136
150
164
177
190
200
211
220
227
233
237
240
240
238
235
229
222
213
203
192
180
167
153
139
126
112
98
85
73
63
54
46
40
35
31
31
33
35
41
47
55
63
74
87
100
114
127
141
155
169
182
193
204
214
222
229
235
238
240
239
237
232
227
219
211
199
188
176
162
149
134
121
107
94
81
69
60
51
44
38
34
31
31
33
37
42
50
58
67
79
91
105
118
132
146
159
173
186
197
208
218
226
231
236
239
240
239
236
231
225
216
207
196
185
172
158
144
130
116
102
89
77
66
57
49
42
37
33
31
31
34
38
45
52
62
71
83
95
109
122
136
150
164
177
190
200
211
220
227
233
237
239
239
238
235
229
222
213
203
192
180
167
154
140
125
111
99
85
73
63
54
46
39
35
32
31
32
35
41
47
55
63
74
86
100
113
127
140
155
169
182
193
204
213
222
229
235
238
240
239
237
232
227
220
209
199
189
177
161
149
135
121
107
93
81
70
60
51
44
37
34
31
31
33
37
43
49
58
67
79
91
105
118
132
145
159
173
186
197
208
217
225
231
236
239
240
239
236
231
225
216
206
195
185
172
158
143
129
116
102
89
77
66
57
48
42
36
33
31
31
34
39
45
53
62
71
83
95
109
123
136
150
164
177
190
200
211
220
228
233
237
240
240
238
234
229
222
213
203
192
180
167
153
139
126
112
98
85
73
63
54
46
39
35
31
31
31
35
40
47
55
63
74
86
100
113
127
140
155
169
182
193
204
214
222
229
235
238
239
239
237
233
227
219
210
199
189
176
162
148
135
122
108
93
81
69
59
50
44
37
34
31
31
33
37
42
49
58
67
78
91
105
118
131
145
159
173
186
197
208
217
225
231
236
239
240
238
236
233
224
213
209
194
184
175
156
143
132
115
102
92
76
66
58
47
40
36
33
31
31
33
39
45
52
62
71
82
94
109
122
135
150
164
176
189
200
211
220
228
234
237
240
240
238
234
229
222
213
203
192
181
167
153
139
126
111
98
84
73
63
54
46
39
35
31
31
31
35
40
47
55
63
75
87
100
113
127
141
154
168
182
193
204
213
222
229
235
238
240
240
237
233
227
219
210
199
189
176
162
148
135
121
108
93
81
69
60
51
44
38
34
31
31
33
37
42
50
58
67
79
91
104
118
131
145
159
173
185
197
207
217
225
231
236
239
240
239
236
231
225
216
207
196
184
172
158
144
130
116
102
90
76
66
57
48
41
36
33
31
33
35
38
44
52
62
71
82
95
109
123
137
150
164
177
190
200
211
220
227
234
237
240
240
238
234
229
222
214
203
192
181
167
153
139
126
112
99
84
73
63
54
47
39
35
31
31
33
35
41
47
55
63
74
87
99
113
127
141
155
168
182
192
204
214
222
229
235
238
240
239
237
233
227
219
210
200
189
176
163
149
134
121
108
94
81
69
61
51
44
38
34
31
31
33
37
43
49
58
67
79
91
104
118
131
145
159
173
186
196
207
217
224
232
236
239
240
239
236
231
225
216
206
196
185
172
158
144
130
116
103
89
77
66
57
48
41
36
33
31
31
34
39
44
52
61
71
82
96
109
123
137
148
165
178
190
200
211
220
227
233
237
240
240
238
234
229
222
213
203
192
180
167
153
139
126
111
98
85
73
63
54
46
39
35
31
31
33
36
40
47
56
63
75
87
100
114
127
141
155
169
182
193
204
213
222
230
235
239
240
240
237
233
227
219
209
199
188
176
162
148
134
121
107
93
81
69
60
51
44
38
34
31
31
34
37
43
50
59
67
78
91
104
118
131
145
160
173
186
197
208
217
225
231
236
239
240
239
236
231
225
216
206
195
184
172
158
144
129
116
102
90
77
66
57
49
41
36
33
31
31
34
39
45
52
61
71
82
96
109
122
135
150
164
177
189
200
211
219
227
233
237
239
240
238
235
229
222
213
203
192
180
168
153
140
126
112
99
85
74
63
54
46
39
35
32
31
31
35
40
47
55
63
74
86
99
113
127
140
155
168
181
192
204
213
222
229
235
238
240
240
237
233
227
220
210
200
189
177
163
149
135
122
108
94
81
70
61
51
44
38
33
31
31
33
37
42
49
58
67
78
90
103
118
131
144
159
172
185
196
207
217
225
232
236
239
240
239
236
232
225
217
208
196
185
172
159
144
130
117
103
90
77
66
57
49
41
36
33
31
31
34
38
44
52
61
70
82
95
108
122
135
149
163
177
189
199
210
219
227
233
237
239
240
238
235
229
222
214
203
192
181
168
154
140
126
112
98
86
74
63
54
46
39
35
32
31
32
35
40
47
55
63
74
86
99
113
126
140
154
168
181
192
203
214
223
230
234
237
239
240
238
233
227
220
210
200
190
177
163
150
136
122
108
95
82
70
61
52
44
38
34
31
31
33
36
42
49
57
66
78
90
104
117
129
144
159
171
185
196
206
216
225
231
236
239
239
239
237
232
225
217
207
196
186
173
159
145
131
117
104
90
78
67
58
49
42
37
33
31
31
34
38
44
51
61
70
81
94
109
121
134
149
163
176
189
199
210
220
227
233
237
239
240
238
234
229
223
214
204
193
181
168
154
140
127
113
99
86
74
63
54
47
40
35
32
31
32
35
40
47
54
63
74
86
99
112
126
140
154
168
180
192
203
213
222
229
235
238
240
239
237
233
227
220
210
200
190
177
164
150
135
122
109
95
82
70
61
52
44
38
34
31
31
33
36
42
49
57
66
78
90
103
117
131
144
158
172
185
196
206
216
224
231
236
239
240
239
236
231
225
217
207
196
185
173
159
144
131
117
104
90
78
67
58
49
41
37
33
31
31
34
38
44
52
61
70
82
94
108
124
137
146
163
178
186
201
212
217
228
235
235
240
242
237
235
230
221
213
204
193
182
168
153
141
127
112
100
86
73
63
54
46
40
35
32
31
31
35
40
46
55
63
74
86
99
113
126
139
154
168
181
192
203
213
222
230
234
238
240
239
237
233
227
220
211
200
189
177
163
150
135
122
108
95
82
70
61
52
44
38
34
31
31
33
37
42
49
58
67
78
90
104
117
130
144
159
172
185
196
207
217
225
231
236
239
240
239
236
231
225
217
208
196
185
172
159
145
130
117
104
90
78
67
57
49
42
37
33
31
31
34
38
44
52
60
70
81
95
108
122
135
149
163
176
189
199
210
219
227
233
237
239
240
238
235
229
223
214
204
192
181
168
155
140
127
112
99
86
74
63
54
47
40
35
33
31
32
35
40
47
55
63
74
86
98
112
126
140
154
168
181
192
203
213
222
229
235
238
240
240
237
233
228
219
210
200
189
177
163
149
135
122
108
94
82
70
61
51
44
38
34
31
31
34
36
42
50
58
66
79
91
104
117
131
144
159
172
185
196
207
217
225
232
236
238
240
239
237
231
225
217
207
196
186
173
159
144
131
117
103
91
77
66
58
49
41
36
33
31
31
34
38
44
52
60
70
82
95
109
122
134
149
163
177
189
199
210
219
227
233
237
239
239
238
235
230
222
214
204
193
181
168
154
140
127
113
99
86
74
63
55
46
40
36
32
31
33
35
40
47
54
63
74
86
99
112
126
140
154
168
181
192
203
213
222
229
235
238
240
240
237
233
227
220
211
200
190
177
164
150
135
122
108
95
82
70
60
51
44
38
34
31
31
33
37
42
49
58
67
78
90
104
117
130
144
158
172
185
196
207
216
225
231
236
239
240
239
236
232
225
217
208
197
186
173
159
145
131
117
104
90
78
66
58
49
42
37
33
31
31
34
38
44
52
60
70
82
94
108
121
135
149
163
176
189
200
210
219
227
233
237
239
240
238
235
229
222
214
204
193
181
168
154
140
126
113
100
86
74
63
55
46
39
35
32
31
32
35
40
47
54
63
74
86
99
112
126
140
153
168
181
192
203
213
222
229
235
238
240
239
237
233
227
219
210
200
189
177
164
149
135
122
108
95
82
70
61
51
44
38
34
31
31
33
37
42
49
57
66
78
90
103
117
130
144
158
172
185
196
206
216
224
231
236
239
240
239
236
232
225
217
208
197
186
172
159
145
131
118
104
90
78
67
58
49
42
37
33
31
31
34
38
44
51
60
70
81
94
108
122
134
149
163
176
189
199
209
219
227
233
237
239
240
238
235
229
223
214
204
193
182
168
155
140
127
113
99
86
75
63
54
46
40
35
32
31
32
35
40
47
55
63
74
85
99
112
126
140
153
168
181
192
203
213
222
229
235
238
240
240
237
233
228
219
211
200
190
177
163
150
135
122
108
95
82
71
61
52
44
38
34
31
31
33
37
42
49
57
66
78
90
103
117
130
144
158
172
185
196
207
216
224
231
236
239
240
239
236
232
225
217
208
197
186
173
159
144
131
117
104
90
78
67
58
49
42
37
33
31
31
34
38
44
51
61
70
82
94
108
122
135
149
163
176
189
199
210
219
227
233
237
240
240
238
235
229
222
214
204
193
181
168
154
140
126
114
100
86
74
63
53
47
41
35
32
31
32
35
40
46
54
63
74
86
99
112
126
139
153
168
181
192
203
213
222
229
234
238
240
240
237
233
228
221
211
200
190
176
164
151
135
122
109
95
82
71
60
52
44
38
34
31
31
33
37
42
49
57
66
77
90
103
117
130
144
158
172
185
195
207
216
225
231
236
239
240
239
236
232
225
217
208
197
186
173
159
145
131
118
104
90
78
67
57
49
42
36
33
31
31
34
38
44
51
61
70
82
94
108
121
134
149
163
176
188
199
210
219
227
232
238
240
240
238
235
230
222
214
204
193
182
169
155
140
127
113
99
86
74
63
54
48
42
31
33
33
29
37
42
43
56
63
71
86
99
111
126
140
151
167
180
192
203
212
221
230
234
238
240
240
237
233
228
220
211
201
190
177
164
150
136
123
109
96
82
71
61
52
44
38
34
31
31
33
37
42
49
57
66
77
90
103
116
130
144
158
172
185
195
206
216
224
231
235
239
239
239
236
231
225
217
208
196
186
173
159
145
131
118
104
90
78
67
58
49
42
37
33
31
31
34
38
44
51
60
70
81
94
107
121
134
148
162
176
189
199
209
219
226
232
237
239
240
238
235
229
223
214
204
193
182
169
155
140
127
113
99
86
75
63
54
47
41
35
31
31
33
35
39
45
55
63
73
85
98
111
126
139
153
167
180
192
202
213
222
229
234
238
240
239
238
233
227
220
211
200
190
178
163
150
136
122
108
95
82
71
61
52
44
38
34
31
31
31
37
42
48
57
66
77
89
103
116
130
144
158
172
185
195
206
216
224
231
236
238
240
239
236
232
225
217
208
197
186
173
160
145
132
118
104
91
78
67
58
49
42
36
33
31
31
34
38
44
51
60
70
81
94
107
121
134
148
163
176
188
199
209
219
227
232
237
239
240
238
235
230
223
214
204
193
182
169
155
141
127
113
99
86
74
63
55
47
40
35
31
31
31
35
39
46
54
63
73
85
98
112
126
139
153
167
181
192
203
213
221
229
235
238
240
239
238
233
228
220
211
200
190
177
164
150
136
122
109
95
82
71
61
52
44
38
34
31
31
33
37
42
48
57
66
77
90
103
116
130
144
158
172
184
195
206
216
225
231
235
239
240
239
236
231
225
217
208
196
185
173
159
145
131
118
104
90
78
67
58
49
42
36
33
31
31
34
39
44
51
60
70
81
95
107
122
134
149
163
176
188
199
210
219
227
233
237
239
240
238
235
229
222
214
204
193
182
168
155
141
127
113
99
86
74
63
55
47
40
35
32
31
32
35
40
46
54
63
73
85
98
112
126
139
153
167
180
192
202
212
221
228
234
238
239
240
238
233
228
220
212
201
190
178
164
150
137
123
109
96
82
71
61
52
45
38
34
31
31
33
36
42
48
57
66
77
89
102
116
129
144
157
171
184
195
206
215
224
231
236
239
240
239
236
232
226
217
208
197
186
174
160
145
131
118
104
91
79
67
58
49
43
37
33
31
31
34
38
44
51
60
69
81
94
108
121
134
148
163
176
188
199
209
219
226
233
237
239
239
238
235
230
223
214
204
193
182
169
155
141
127
114
100
87
74
63
55
47
40
35
31
31
32
35
40
46
54
63
73
85
99
111
126
139
153
167
180
192
203
212
222
229
234
238
240
240
238
233
228
220
211
200
191
178
164
150
136
123
109
96
82
71
61
52
44
38
34
31
31
33
36
41
49
57
66
77
89
103
116
130
144
158
171
184
195
206
216
224
231
236
239
240
239
236
232
226
218
208
197
186
173
160
146
132
118
105
91
79
67
58
49
43
37
34
31
31
34
38
44
51
60
69
81
94
107
121
134
148
162
176
188
199
209
219
227
233
237
240
240
239
235
230
224
214
205
193
182
169
155
141
127
113
100
87
75
63
55
47
40
35
32
31
32
35
39
46
54
63
73
85
98
111
126
139
153
167
180
192
203
213
222
229
234
238
240
239
237
234
228
220
211
201
190
178
164
150
136
123
109
95
83
71
61
52
44
38
34
31
31
33
37
42
48
57
66
77
89
102
116
129
143
158
171
185
195
205
216
225
230
236
239
240
239
236
231
226
218
208
197
186
174
160
146
131
119
105
92
79
67
58
49
42
36
33
31
31
34
38
44
51
60
69
81
94
107
120
134
149
161
175
188
199
209
218
226
233
237
239
240
239
235
230
224
215
205
193
182
169
156
141
127
113
100
87
76
65
55
47
40
35
32
31
31
35
39
46
54
63
73
85
98
111
125
138
153
166
180
192
202
213
222
229
233
238
240
240
238
234
228
220
212
204
189
176
167
148
136
126
107
96
85
69
61
54
44
39
35
31
30
33
36
42
48
56
66
77
89
103
117
128
143
157
171
184
195
206
215
224
231
236
239
240
239
237
232
226
218
208
197
187
173
161
147
131
119
105
91
78
67
59
50
42
37
34
31
31
34
38
43
51
60
69
80
93
107
121
134
148
162
175
188
198
209
219
226
232
237
239
240
240
235
229
224
215
204
193
183
169
155
141
127
114
101
87
75
63
55
47
40
36
32
31
31
35
39
46
54
63
72
84
98
111
125
138
153
166
180
192
202
213
221
229
234
238
239
240
237
234
228
221
211
201
191
178
165
150
136
123
109
95
83
71
61
52
45
39
34
31
31
33
36
42
48
57
66
77
89
102
117
129
144
157
171
184
195
206
215
224
231
236
238
240
239
237
232
226
217
208
197
186
174
160
146
131
119
104
91
79
67
58
50
42
37
33
31
31
34
38
43
51
60
69
81
94
107
120
134
148
162
175
188
199
209
218
226
232
237
239
239
238
235
230
223
214
205
193
182
169
155
141
127
114
100
87
75
63
55
47
40
36
32
31
31
35
39
46
54
63
73
85
98
111
125
139
153
167
180
192
203
213
221
229
234
238
240
240
238
234
228
221
211
201
191
178
165
150
136
123
109
95
83
71
61
52
44
38
34
31
31
33
36
42
48
57
65
76
90
102
116
129
144
158
171
184
195
206
215
224
230
236
238
240
239
237
232
226
217
208
197
187
174
161
146
132
118
105
92
79
68
58
49
42
37
33
31
31
34
38
43
51
59
69
81
93
107
120
134
148
162
175
188
198
209
218
226
232
237
239
240
239
235
230
224
215
205
194
182
169
156
141
127
114
100
87
75
63
55
47
40
35
32
31
31
35
39
46
54
63
73
85
98
111
125
138
153
166
180
192
202
212
221
228
234
238
240
240
237
234
228
221
212
201
191
178
165
151
136
123
109
96
82
71
62
53
45
38
34
33
31
34
36
41
48
57
66
76
88
102
116
129
143
157
171
184
195
206
216
224
230
236
239
240
239
237
232
226
218
208
198
187
174
161
146
132
120
105
92
78
67
59
50
43
36
33
31
31
34
37
44
51
60
69
80
93
106
120
134
147
162
175
188
198
209
218
226
232
236
239
240
238
235
230
224
215
205
194
183
170
156
142
127
114
101
87
75
63
56
47
41
36
33
31
31
35
39
46
54
63
73
84
98
111
125
138
152
166
180
192
202
213
221
228
234
238
239
240
238
234
228
221
212
201
192
179
165
151
137
124
110
96
84
71
62
53
45
38
34
31
31
33
36
41
48
57
65
77
89
102
115
128
143
156
170
183
195
205
216
224
230
235
239
240
240
237
232
226
218
209
198
188
174
161
146
132
120
105
92
79
68
59
50
43
37
33
31
31
34
38
43
50
59
69
80
93
106
120
133
147
161
175
188
198
209
218
226
232
237
239
240
239
236
230
224
216
205
194
183
170
156
141
127
114
100
87
75
63
56
47
40
35
32
31
31
35
39
46
54
63
73
85
97
111
125
138
152
166
179
192
202
212
221
228
234
238
240
240
238
234
228
221
211
201
192
179
165
151
137
124
110
96
83
71
62
52
45
39
34
31
31
33
36
41
48
57
65
77
89
102
116
129
143
157
171
184
195
205
215
224
230
236
239
240
239
237
232
226
217
208
197
187
174
161
146
132
119
105
91
79
68
58
50
42
36
33
31
31
33
38
44
51
60
69
81
93
106
121
134
148
162
175
188
198
209
219
226
232
237
239
240
239
235
230
224
215
204
194
182
169
155
141
127
114
100
87
76
65
55
47
42
35
31
31
32
35
39
45
54
63
73
84
98
111
125
138
152
166
180
192
202
212
221
228
234
238
239
240
237
233
229
221
210
202
192
179
164
152
137
123
110
95
82
72
62
52
45
39
35
31
30
33
36
41
47
56
67
78
85
103
116
127
145
158
169
186
195
202
217
225
229
236
240
238
239
237
232
227
217
208
198
187
174
161
146
131
119
106
91
79
68
58
49
42
37
34
31
31
34
37
43
51
60
68
80
93
106
120
134
148
162
175
188
198
209
219
227
232
236
239
240
239
235
230
224
215
205
194
183
169
156
142
127
114
101
87
76
63
56
47
41
36
31
31
31
35
39
46
54
62
72
85
98
111
124
138
152
166
180
192
202
212
221
228
234
238
240
240
238
234
228
220
211
202
192
178
165
151
137
124
110
96
83
71
62
52
45
39
34
31
31
33
36
41
48
57
65
76
89
102
116
129
143
157
171
183
195
205
215
224
230
235
238
240
239
237
232
227
218
209
198
188
175
161
146
132
119
105
92
79
68
59
50
43
37
33
31
31
33
37
43
50
59
68
80
93
106
120
133
147
161
175
187
198
209
218
226
232
236
239
240
239
235
230
224
216
205
194
183
170
156
142
127
114
101
87
75
63
55
47
40
36
33
31
31
35
39
45
53
62
72
84
97
110
124
137
152
166
179
191
201
212
221
228
234
238
240
240
238
233
228
221
212
202
192
179
165
152
137
125
110
97
83
71
62
53
45
39
34
31
31
33
36
41
47
56
64
76
88
101
115
128
142
156
170
183
194
205
215
224
231
235
238
240
239
236
232
226
218
209
198
187
175
161
147
132
119
106
92
79
68
59
50
43
37
34
31
31
33
37
43
51
59
68
80
92
106
120
133
147
161
175
187
197
208
218
226
232
237
239
240
239
235
230
224
215
205
194
183
170
156
142
128
114
101
88
76
64
56
47
41
36
33
31
31
35
39
45
53
63
72
84
97
110
124
137
152
165
179
192
202
212
220
228
234
238
240
240
238
234
228
221
212
202
192
179
166
152
138
124
110
97
84
72
62
53
45
39
35
31
31
32
36
41
48
57
65
76
88
102
115
128
142
156
170
184
194
205
215
224
230
236
239
240
239
237
233
226
218
209
198
188
175
161
147
132
120
105
92
79
69
59
50
43
37
34
31
31
34
38
43
50
60
69
80
93
106
120
133
147
161
174
188
198
209
219
226
232
237
239
240
239
236
230
224
215
205
194
183
170
156
142
128
114
101
88
76
65
56
47
41
36
32
31
31
35
39
45
53
62
72
84
97
111
124
137
152
166
179
192
202
212
221
228
234
238
240
240
238
234
228
221
212
202
192
179
166
151
137
124
111
97
84
71
62
53
45
39
34
31
31
33
36
41
47
56
65
76
88
101
115
128
143
157
170
183
195
205
215
224
230
236
238
240
239
236
232
227
219
208
197
187
175
161
146
132
119
106
92
79
68
59
50
43
37
34
31
31
33
37
43
50
59
68
80
93
106
120
133
147
162
175
187
198
209
218
226
232
236
239
240
239
235
230
224
215
205
194
183
170
156
142
128
114
101
88
76
64
56
47
41
36
33
31
31
35
39
45
53
63
72
84
97
111
125
138
152
166
180
192
202
212
221
228
234
238
239
240
237
234
228
221
212
202
192
179
166
151
137
124
110
97
83
71
62
53
45
38
34
31
31
33
36
41
47
56
65
76
88
102
115
129
142
156
170
183
194
205
215
224
230
235
238
240
239
237
232
226
218
208
198
188
175
161
147
132
120
105
92
79
68
59
50
43
37
34
31
31
34
38
43
51
59
68
79
92
106
120
132
146
161
174
187
198
208
218
225
232
236
238
240
240
235
230
224
215
205
194
184
171
157
142
128
115
101
88
75
63
56
47
41
35
33
31
31
35
39
45
53
62
72
84
97
110
124
138
151
165
179
192
201
211
221
228
234
237
239
240
237
234
228
221
212
202
192
179
165
152
137
124
110
96
83
71
62
53
46
38
34
32
31
32
36
41
47
56
65
76
88
101
115
128
142
156
170
182
194
204
216
223
229
236
239
239
239
238
232
226
217
208
198
188
177
161
144
135
118
104
96
78
67
62
49
41
39
33
30
33
33
37
43
50
59
68
78
92
106
119
132
147
159
174
188
196
208
218
226
231
236
239
240
239
235
231
224
216
206
195
183
170
157
142
128
115
101
88
76
65
56
47
40
36
33
31
31
35
39
45
53
62
72
84
97
110
124
137
151
165
179
191
202
211
221
228
234
238
239
239
238
234
228
221
212
202
192
180
165
152
138
124
111
97
84
72
63
53
45
39
34
31
31
33
36
41
47
56
65
76
88
101
115
128
142
156
170
182
194
204
215
224
230
235
239
240
239
237
232
227
218
209
198
188
175
161
147
133
120
106
93
80
68
58
50
43
37
34
31
31
34
38
43
50
59
68
80
92
106
119
132
146
161
174
187
197
209
218
226
232
236
239
240
239
235
231
224
216
205
194
183
170
157
143
128
115
101
88
76
65
56
48
41
36
33
31
31
35
39
45
53
62
71
83
97
110
124
137
151
165
179
191
201
211
221
228
234
238
240
240
238
234
229
221
212
202
192
179
166
152
138
124
111
97
84
72
63
53
46
39
34
31
31
32
36
41
47
56
64
75
88
101
114
127
142
156
169
182
194
205
215
223
230
235
239
240
239
237
232
227
219
209
199
188
175
162
148
134
120
107
93
80
69
59
51
43
37
33
31
31
33
37
43
50
59
68
79
92
105
119
132
146
160
174
187
197
208
217
226
232
237
239
240
239
236
230
224
216
206
195
183
171
157
143
129
116
102
88
76
65
56
48
41
36
33
31
31
34
39
45
52
62
71
83
96
110
124
137
151
165
178
191
201
211
220
228
234
237
239
240
238
234
228
221
212
203
192
180
166
152
138
125
111
97
84
72
63
53
46
39
35
31
31
32
35
40
47
56
63
75
87
101
114
127
141
155
170
182
194
204
214
222
230
235
239
240
239
237
232
227
219
209
199
188
175
162
147
134
121
106
93
80
69
59
51
43
38
34
31
31
33
37
43
50
59
68
79
92
105
119
132
146
160
174
187
197
208
217
225
231
236
239
240
239
235
230
224
216
206
195
184
171
157
143
129
116
102
89
76
65
57
48
41
36
33
31
31
35
39
45
53
62
71
84
96
110
123
137
150
165
178
191
200
211
220
228
234
237
239
240
238
234
229
221
213
202
192
180
166
152
138
125
111
97
84
72
63
53
45
39
35
32
31
33
35
41
47
56
64
75
87
101
114
127
141
155
169
182
193
204
214
223
230
235
239
240
239
237
232
227
219
209
198
188
175
161
147
133
120
106
93
80
68
59
50
43
37
34
31
31
33
37
43
50
59
68
79
92
105
119
132
146
161
174
187
197
208
217
226
232
236
239
240
239
236
230
224
215
205
195
183
170
157
142
129
115
102
88
76
65
56
48
41
36
33
31
31
35
39
45
53
62
71
83
97
110
124
137
150
164
178
191
201
211
220
228
234
238
240
240
238
234
229
222
212
202
192
180
166
152
138
125
111
97
84
72
63
53
45
39
35
32
31
33
35
41
47
56
65
75
87
101
114
128
141
156
170
182
194
205
214
222
230
236
238
240
239
237
233
226
219
210
198
188
175
162
148
134
120
106
93
80
69
60
51
43
38
34
31
31
33
36
43
51
58
67
79
93
104
119
132
146
161
173
186
197
208
218
226
232
236
239
240
239
236
231
224
216
206
195
184
171
157
143
129
115
101
89
76
65
57
47
41
36
33
31
31
34
39
45
53
62
71
83
96
109
124
137
151
165
178
190
201
211
220
228
234
238
240
240
238
234
228
221
212
203
192
180
166
153
138
125
111
97
84
72
63
53
46
39
35
31
31
33
35
41
47
56
63
75
88
101
114
127
142
156
170
183
194
204
215
222
230
235
238
240
239
237
232
226
218
209
198
188
175
162
148
133
120
106
93
80
69
59
51
43
37
33
31
31
33
37
43
50
59
68
80
92
106
119
134
148
157
174
189
195
210
220
224
233
238
237
240
240
234
231
224
214
205
194
184
170
156
141
129
115
101
89
76
63
56
48
39
36
34
31
31
35
39
46
53
62
72
84
97
110
124
137
152
165
179
191
202
212
221
229
234
238
240
240
238
234
229
221
212
202
192
179
166
152
138
124
110
97
85
71
62
54
45
39
34
31
31
33
35
41
47
56
65
76
88
101
115
128
143
156
170
183
194
204
215
223
230
235
239
240
239
237
232
227
219
209
198
188
175
162
147
134
120
106
93
80
69
59
50
43
37
34
31
31
34
37
43
50
59
68
79
92
105
119
132
146
160
174
186
197
208
218
226
231
236
239
240
238
236
231
224
216
206
195
184
171
157
143
129
115
102
88
76
65
56
47
41
36
33
31
31
34
39
45
53
62
71
83
96
110
123
136
150
165
178
190
201
211
220
228
234
237
240
240
238
234
229
221
213
203
192
180
166
152
138
125
111
98
84
72
63
53
45
39
35
31
31
33
36
41
47
56
63
75
87
100
114
127
141
155
169
182
193
204
214
223
230
235
239
240
239
237
232
227
220
211
199
188
175
162
148
134
120
107
93
81
69
60
51
44
38
33
31
31
33
37
43
49
58
67
78
91
105
119
132
146
160
173
186
197
208
218
226
231
236
239
240
238
236
230
224
216
206
195
184
171
157
143
129
116
102
89
76
65
57
48
41
36
33
31
31
34
38
45
52
62
71
83
96
110
123
136
151
165
178
190
201
211
220
227
233
237
240
240
238
234
229
221
212
202
192
180
166
153
138
125
111
98
84
73
63
54
45
39
35
31
31
32
35
40
47
55
63
75
87
100
113
127
141
156
169
182
193
204
214
223
230
235
239
240
240
237
232
226
219
209
198
188
175
162
148
134
121
106
93
80
69
59
51
43
37
33
31
31
33
37
42
50
58
67
79
92
105
118
132
146
160
173
186
197
208
217
225
232
237
239
240
239
236
231
224
216
206
195
184
171
157
144
130
116
102
89
76
65
56
48
42
36
33
31
31
34
38
45
52
61
71
83
96
110
123
136
150
164
178
190
200
211
220
227
233
237
240
239
238
234
229
222
213
203
192
180
167
153
139
126
112
98
85
73
63
54
46
39
35
31
31
32
36
41
47
55
63
75
87
100
113
127
141
155
169
182
193
204
214
223
230
234
239
240
240
237
233
227
219
210
199
188
176
163
148
134
121
107
93
81
69
60
51
43
38
34
31
31
33
37
42
49
58
67
78
90
104
118
131
145
159
172
185
196
207
217
225
231
236
239
240
239
236
231
225
216
207
196
185
172
158
144
130
117
103
90
78
67
57
49
41
36
33
31
31
34
38
44
52
61
71
82
94
109
123
135
149
164
177
189
199
211
220
228
233
237
240
240
239
234
229
222
213
203
192
181
168
154
139
126
112
99
85
73
63
54
45
40
35
31
31
33
35
40
47
55
63
74
86
100
113
127
140
155
169
182
193
204
214
222
230
235
238
240
240
237
233
227
220
210
200
189
176
163
148
135
121
107
94
81
70
60
51
44
38
34
31
31
33
37
42
49
58
67
78
91
104
118
131
145
159
173
186
197
208
217
225
231
236
239
240
239
236
231
225
216
207
196
184
172
158
144
130
116
103
89
77
66
57
48
41
35
33
31
33
34
38
44
52
62
71
83
95
109
123
136
150
164
178
190
201
211
220
227
233
237
240
240
238
234
229
222
213
203
192
180
167
153
139
126
112
99
85
72
63
54
46
39
35
31
31
31
36
40
47
55
63
75
86
100
114
127
141
155
169
182
193
204
214
222
230
235
239
240
239
237
233
227
219
210
200
189
176
163
148
135
121
107
93
81
69
60
51
44
37
33
31
31
33
36
43
49
58
67
79
91
104
118
131
145
159
173
186
197
207
217
225
231
236
239
240
239
236
231
225
216
206
195
185
172
158
144
129
117
105
88
74
68
55
47
45
35
32
34
30
33
41
44
52
62
70
81
95
109
123
136
149
164
178
189
200
211
220
226
233
237
239
240
238
234
229
222
213
203
192
180
167
153
139
126
111
98
85
73
63
54
46
39
35
31
31
31
35
40
47
55
63
74
87
100
112
127
141
155
167
182
193
204
213
222
229
235
238
240
239
237
233
227
219
209
199
189
176
163
148
134
121
107
93
81
69
60
51
43
37
34
31
31
33
37
42
48
59
67
77
90
105
117
131
145
159
173
186
196
208
217
225
231
236
239
240
239
236
231
225
216
207
196
185
172
158
144
129
116
102
89
77
66
57
48
41
36
33
31
31
34
39
44
52
61
70
83
95
109
123
136
150
164
177
190
200
211
220
227
233
238
240
240
238
234
229
222
213
203
192
180
167
153
139
126
111
98
85
73
63
54
46
39
35
31
31
32
36
40
47
55
63
75
87
100
114
127
141
155
170
182
193
204
215
224
230
235
239
240
239
237
232
227
219
209
199
188
175
162
147
133
120
106
93
80
69
60
51
43
37
34
31
31
33
37
43
50
59
68
79
92
105
119
132
146
160
173
187
197
208
218
226
232
237
239
240
239
236
231
224
216
206
195
184
171
157
143
129
116
102
89
76
65
57
48
41
36
33
31
31
34
39
45
53
62
71
83
95
110
123
137
151
165
178
190
201
211
221
228
233
237
240
239
239
234
229
222
213
203
192
180
167
153
139
126
111
98
85
73
63
53
46
39
35
31
31
33
35
41
47
55
63
75
87
100
114
127
141
155
169
182
193
204
215
224
230
235
238
240
240
237
233
227
219
210
200
189
176
163
149
135
121
107
94
81
69
60
51
44
38
34
31
31
34
37
43
50
58
67
79
92
105
118
131
145
159
174
186
197
207
217
225
232
236
239
240
239
236
231
225
216
207
196
185
172
158
144
130
117
103
90
77
66
57
48
42
36
33
31
31
34
39
44
52
61
71
82
95
109
123
135
150
164
177
189
200
211
219
227
233
237
240
240
238
234
229
222
214
203
192
181
168
153
139
126
111
99
85
73
63
54
46
40
35
31
31
32
35
40
47
55
63
74
86
100
113
127
140
154
168
182
192
204
213
222
229
234
239
240
240
237
233
227
220
210
200
189
177
163
149
134
122
108
94
82
70
60
52
44
38
34
32
31
32
37
43
48
58
67
78
90
103
117
131
144
158
172
185
195
207
216
225
231
236
239
240
239
236
231
225
217
207
196
186
173
159
144
130
118
104
90
78
67
57
48
42
37
33
31
31
34
38
43
51
61
70
82
95
108
122
135
149
163
176
189
199
210
219
227
232
237
239
239
238
234
229
222
214
203
193
181
168
154
140
126
112
99
85
74
63
54
46
39
35
31
31
33
35
40
47
54
63
74
86
99
112
126
140
154
168
181
192
203
213
222
229
234
238
240
240
237
233
227
219
210
200
189
176
163
149
135
122
108
94
81
69
61
51
43
38
34
31
31
33
36
42
49
58
66
78
90
103
117
131
144
158
173
185
196
207
216
225
231
235
239
240
239
236
231
225
216
207
196
185
172
158
144
130
117
103
90
77
66
57
49
41
36
33
31
31
34
38
44
52
61
70
82
95
108
122
136
149
164
176
189
199
210
219
227
233
237
239
240
239
234
229
222
213
203
192
181
167
154
140
126
112
99
85
74
63
54
46
40
35
31
31
31
35
40
47
54
63
74
86
99
113
126
140
154
168
181
192
203
213
221
229
234
238
240
239
237
233
227
220
210
200
189
176
163
149
135
122
108
94
81
70
60
51
44
38
34
31
31
33
36
42
48
58
66
78
90
103
117
130
145
159
172
185
196
207
216
224
232
236
239
240
239
236
231
225
216
207
196
185
172
158
144
129
117
103
91
77
66
57
49
42
36
33
31
31
34
38
44
52
61
70
82
95
108
122
135
149
163
177
189
200
213
219
224
235
236
238
243
237
233
233
222
212
205
192
180
169
153
138
126
112
99
86
73
63
55
46
40
36
31
30
32
35
39
47
55
63
74
86
100
112
126
140
154
168
182
193
204
213
222
229
234
238
240
239
237
233
227
220
211
200
189
177
164
149
135
122
108
94
81
70
61
52
44
38
34
31
31
33
36
42
49
58
67
78
90
104
118
130
145
158
173
186
196
207
217
225
231
236
239
240
239
236
232
224
216
208
196
184
173
159
145
130
117
103
90
77
66
58
49
41
36
33
31
31
34
38
44
52
61
70
82
95
109
122
135
149
163
176
189
200
210
220
227
233
237
240
240
237
234
230
222
213
203
192
181
167
153
140
127
112
99
86
73
63
54
46
39
35
31
31
31
35
40
47
55
63
74
86
99
113
127
139
154
168
181
192
203
213
222
229
235
238
240
240
237
233
228
220
210
200
189
177
163
149
135
122
108
94
82
70
60
52
44
39
34
31
31
33
37
42
49
58
67
78
91
104
118
131
145
158
173
185
196
207
217
224
231
236
239
240
239
237
231
225
217
208
196
185
172
158
144
130
117
103
90
77
66
57
48
42
36
33
31
31
34
38
44
52
61
70
82
94
109
122
135
149
164
177
190
200
210
220
228
233
237
240
240
238
235
230
222
214
204
192
181
167
154
139
126
112
99
85
74
63
54
46
39
35
32
31
31
35
40
47
55
63
74
86
99
113
127
140
154
168
181
192
203
214
222
229
234
238
240
240
237
233
227
220
211
200
189
177
163
149
135
121
108
94
81
70
61
51
44
38
34
31
31
33
36
42
49
58
66
78
90
103
117
131
144
158
172
185
196
207
216
225
231
235
239
240
239
236
231
225
217
207
196
185
173
158
144
130
117
103
90
77
67
57
50
42
36
33
31
31
34
38
44
52
60
70
82
94
108
122
134
149
163
176
189
199
210
219
227
233
237
239
240
238
235
229
222
214
204
193
181
168
154
140
127
113
99
86
74
63
55
47
41
34
32
31
32
35
39
47
55
63
73
85
100
113
127
139
153
167
182
192
203
213
222
229
235
238
240
239
237
233
227
220
210
201
189
176
163
150
135
122
108
94
82
70
60
52
44
38
34
32
31
33
36
42
49
58
67
78
90
104
117
130
145
158
173
185
196
207
217
225
231
236
239
240
239
236
231
225
216
207
196
185
172
159
144
131
117
103
90
78
66
57
49
42
36
33
31
31
34
38
44
52
61
70
82
95
108
122
136
149
163
176
189
199
210
219
227
233
237
239
240
238
235
229
222
214
204
193
181
168
154
140
127
113
99
86
74
63
54
46
40
35
31
31
31
35
40
47
55
63
74
86
99
113
127
140
154
168
181
192
204
213
222
229
235
238
240
240
237
233
227
220
211
200
189
176
163
149
135
122
108
94
82
70
61
52
44
38
34
31
31
33
36
42
49
57
66
78
90
103
117
130
144
158
172
185
196
207
217
225
231
236
239
240
239
236
231
225
217
208
197
186
172
159
145
130
118
103
90
77
67
57
49
42
36
33
31
31
34
38
44
52
61
70
81
94
108
122
135
149
163
177
189
199
210
219
227
233
237
239
240
239
235
229
222
214
204
193
182
168
154
140
127
113
99
86
73
63
54
46
40
35
31
31
31
35
40
47
54
63
74
86
99
112
126
139
153
167
181
192
203
213
222
229
234
238
240
240
237
233
228
220
210
200
189
177
163
150
135
122
108
94
82
70
61
52
44
38
34
31
31
33
36
42
49
57
66
78
90
103
117
130
144
158
172
184
196
207
216
225
231
236
239
240
239
236
231
225
217
208
197
185
173
159
145
130
118
103
90
78
66
58
49
42
36
33
31
31
34
38
44
51
61
70
82
94
108
121
135
148
163
176
189
199
210
219
227
233
237
240
240
238
235
230
222
214
204
193
182
168
155
140
127
113
99
86
74
63
54
47
42
32
31
33
29
37
42
44
55
65
71
86
100
111
127
140
152
167
181
192
204
213
221
230
235
238
240
240
236
233
227
220
210
200
190
177
164
150
136
123
109
95
82
70
61
52
44
38
34
31
31
33
36
42
48
57
66
77
90
103
117
130
144
158
172
184
196
206
216
224
231
236
238
240
239
236
231
226
218
209
197
185
173
160
145
131
118
103
91
78
67
58
49
42
37
33
31
31
34
38
44
51
60
70
81
94
108
121
135
148
163
176
189
199
210
219
227
232
237
240
240
239
234
230
223
214
204
192
182
168
154
140
127
113
99
86
74
63
54
47
41
35
31
31
33
34
39
47
54
63
74
85
99
112
126
139
154
167
181
192
203
213
221
229
234
238
240
240
238
233
228
220
211
200
190
177
164
150
135
122
108
95
81
70
62
52
43
39
34
31
31
33
37
42
48
57
67
77
90
103
117
130
144
158
172
185
196
207
216
225
231
236
239
240
239
236
231
225
217
207
197
186
172
159
144
131
117
104
90
78
66
57
49
42
36
33
31
31
34
38
44
51
61
69
82
94
108
122
135
149
163
177
189
200
210
219
227
233
237
239
240
238
235
229
222
213
203
193
181
168
154
140
127
113
99
86
74
63
54
47
39
35
32
31
33
35
40
46
55
63
74
86
99
112
126
140
154
168
181
192
203
213
222
230
235
238
240
239
237
233
228
220
211
200
190
177
164
150
136
122
108
95
82
70
60
52
44
38
34
31
31
33
37
42
49
58
66
77
90
103
117
129
144
158
172
185
195
207
216
225
231
236
239
240
239
236
231
225
217
208
197
187
173
159
145
132
118
103
91
79
67
57
49
43
37
33
31
31
34
38
44
51
60
69
81
94
107
121
134
148
162
176
188
199
210
219
227
232
237
240
240
238
235
231
223
214
205
193
182
168
155
141
127
113
100
86
74
63
55
47
40
35
32
31
31
35
40
46
54
63
73
85
98
111
126
139
153
167
180
192
203
212
221
229
234
238
240
240
237
233
227
220
211
201
191
177
165
150
136
123
109
96
83
71
61
52
44
38
34
31
31
33
36
41
49
57
66
77
89
102
116
129
143
158
171
184
195
206
215
224
231
236
238
240
239
237
231
225
217
208
197
186
174
160
145
131
118
105
91
79
67
58
49
42
36
33
31
31
34
38
44
51
60
69
81
94
108
121
135
148
163
176
188
199
209
219
227
233
237
239
240
238
235
230
223
214
204
193
182
169
155
141
127
114
99
86
75
63
55
47
40
35
31
31
33
35
39
46
54
63
74
85
98
112
126
139
154
167
180
192
203
212
221
229
234
238
240
240
237
234
228
220
211
201
191
177
164
150
135
123
110
95
81
70
61
52
44
38
34
31
31
33
36
41
48
57
66
77
90
103
116
130
144
158
171
184
195
206
216
224
230
236
239
240
239
236
232
225
217
208
197
186
173
159
145
131
118
104
91
79
67
58
49
42
37
33
31
31
34
38
44
51
60
69
81
93
107
121
134
148
162
175
188
199
209
219
226
232
237
239
240
238
235
230
224
214
204
193
182
169
155
141
127
113
100
87
74
63
55
47
40
35
31
31
31
35
39
46
54
63
74
85
98
112
126
139
152
167
180
192
202
213
222
229
234
238
240
240
237
234
228
220
211
200
190
177
164
150
136
123
109
96
82
71
61
53
45
38
34
31
31
33
36
42
49
57
66
77
89
103
116
130
144
158
171
185
195
206
216
224
230
236
238
240
239
237
232
225
218
208
197
186
173
159
145
131
118
104
91
78
67
58
49
42
37
33
31
31
34
38
44
51
60
69
81
93
107
121
134
148
162
176
188
199
209
219
226
232
237
239
240
239
235
230
224
215
205
193
182
169
155
141
127
113
100
87
74
63
54
47
40
35
32
31
31
35
40
45
54
63
73
85
98
112
125
139
153
167
180
192
203
212
221
229
235
238
240
242
236
230
230
219
210
204
189
177
167
149
135
125
108
95
84
71
60
53
44
39
34
31
31
33
36
42
50
56
65
77
89
102
116
130
143
157
171
185
195
206
216
224
231
236
239
240
239
236
231
225
217
208
197
186
173
160
146
132
119
105
91
79
67
58
50
42
36
33
31
31
34
38
43
51
60
69
81
93
107
121
134
148
162
176
188
199
209
219
227
233
237
239
240
238
235
230
224
215
205
194
182
169
155
141
127
113
100
87
75
63
55
47
41
35
32
31
31
35
40
46
54
63
73
85
98
112
126
139
153
167
180
192
203
213
221
229
235
238
240
240
238
233
228
220
211
201
190
178
164
150
136
123
109
95
82
71
61
52
44
38
34
31
31
33
37
41
48
57
66
77
90
103
116
130
144
157
172
185
194
206
217
225
230
235
238
240
240
236
232
226
217
208
197
186
174
160
146
132
118
105
91
79
67
58
50
42
37
33
31
31
34
38
44
51
60
69
81
94
106
120
134
148
162
176
189
198
210
219
227
233
236
239
240
238
236
230
223
214
205
194
182
169
155
141
127
114
100
87
75
63
55
47
40
35
31
31
32
34
39
46
54
63
73
85
98
111
125
138
152
166
179
192
202
212
221
229
234
238
240
239
238
234
228
220
212
201
190
178
165
150
136
123
109
96
82
71
61
52
45
38
34
31
31
33
36
41
48
57
65
77
89
102
116
129
143
157
171
184
195
206
215
224
231
235
238
240
240
236
232
225
217
208
197
187
173
160
146
132
118
104
91
79
67
58
49
42
37
33
31
31
34
38
44
51
60
69
80
93
107
121
134
148
162
175
188
198
209
218
226
232
237
239
240
238
235
229
223
214
204
194
182
169
155
141
127
113
100
87
74
63
55
47
40
35
31
31
32
35
39
46
54
63
73
85
98
111
125
138
152
167
179
192
202
212
221
228
234
238
240
239
238
233
228
220
211
201
190
178
164
150
136
123
109
95
83
71
61
52
45
38
34
31
31
33
36
42
48
57
65
77
89
102
116
129
143
158
171
184
195
205
216
224
231
235
239
240
239
236
232
226
218
208
197
186
173
160
145
132
118
105
91
79
67
58
49
42
37
33
31
31
34
37
43
51
60
69
80
94
107
121
134
148
162
176
188
199
209
218
226
232
237
239
239
239
235
230
222
214
204
193
181
169
155
141
127
113
100
86
75
63
55
47
41
35
32
31
31
35
39
46
53
63
73
85
98
111
125
138
153
166
179
192
202
212
221
228
234
238
240
239
238
233
228
221
211
201
191
178
165
151
137
123
109
96
83
71
62
52
45
39
35
31
31
32
36
41
47
56
65
76
89
102
115
129
143
157
171
184
195
205
215
224
230
235
238
240
239
236
232
226
218
208
197
187
174
161
146
132
119
105
91
79
68
58
49
43
37
33
31
31
34
38
43
51
60
68
80
93
107
121
133
148
162
175
188
198
209
218
227
232
236
239
240
239
236
230
224
215
205
194
183
169
156
142
127
114
100
87
75
64
55
47
41
35
33
31
31
34
39
46
54
62
72
85
98
111
124
138
152
167
179
192
202
212
221
228
234
238
240
239
237
234
228
221
212
201
192
179
165
151
137
123
110
96
83
71
62
53
45
39
34
31
31
33
36
41
48
56
65
76
89
102
116
129
143
157
171
184
195
206
216
224
230
235
238
240
239
237
232
226
218
208
198
187
174
161
146
132
119
105
91
79
68
58
50
43
37
33
31
31
34
38
43
51
60
69
80
93
106
120
133
148
162
175
188
198
209
218
227
232
237
239
240
238
235
230
224
215
205
194
182
170
156
141
127
114
100
86
75
63
55
47
40
35
31
31
32
35
39
46
54
63
73
85
98
111
125
138
153
167
180
192
202
212
221
229
234
238
240
239
238
234
227
220
212
201
190
178
165
150
136
123
110
95
83
71
61
52
44
38
34
31
31
33
36
44
48
53
67
77
86
105
116
127
146
157
169
186
195
204
216
224
229
235
239
240
239
236
231
227
217
208
198
187
173
160
147
131
119
105
91
79
67
59
50
42
37
34
31
31
34
38
43
51
59
68
80
93
107
120
133
147
162
175
188
198
209
218
226
232
237
239
240
238
235
230
224
215
205
194
183
169
156
142
127
114
101
87
75
63
55
47
41
35
32
31
31
35
39
46
53
63
73
84
98
111
125
138
152
166
179
192
202
212
221
228
234
238
239
240
237
234
228
221
212
201
192
179
165
151
137
124
110
96
83
71
62
53
45
38
34
31
31
33
36
41
47
57
65
76
88
102
115
128
143
157
171
183
195
206
216
224
230
236
239
240
239
237
232
226
218
208
198
186
174
161
147
133
119
105
92
79
68
59
50
43
37
33
31
31
33
38
43
50
60
69
80
93
106
120
133
147
161
175
188
198
208
218
226
232
236
240
240
238
235
231
224
215
205
195
184
171
156
141
128
116
101
87
76
65
56
47
40
36
33
31
31
35
39
45
53
62
72
84
97
111
125
137
152
167
179
191
202
212
221
228
233
238
239
240
238
234
228
221
212
203
192
178
167
152
137
124
111
98
84
71
61
53
46
39
34
31
31
33
36
41
47
56
65
76
89
101
116
128
143
157
170
183
194
205
215
224
230
236
238
240
239
237
232
227
218
208
197
187
175
161
147
132
120
106
92
80
68
59
50
43
37
34
31
31
34
37
43
50
59
68
80
92
106
120
133
147
161
175
187
198
208
218
226
233
237
240
240
239
235
230
224
215
205
194
183
170
156
142
128
114
101
87
75
65
56
47
41
36
33
31
31
35
39
45
54
62
72
84
97
111
125
138
152
166
179
192
202
212
221
229
234
238
240
240
238
234
228
221
212
202
192
179
166
151
138
124
111
97
84
72
62
52
45
39
34
31
31
33
36
41
48
56
65
76
89
102
116
128
142
156
171
184
195
205
215
224
230
236
239
240
239
237
232
226
219
208
198
187
175
161
147
133
119
106
92
79
68
59
50
43
37
33
31
31
33
37
43
50
60
68
80
93
106
120
133
147
161
175
188
198
209
218
226
232
237
239
240
239
235
230
224
215
205
194
183
170
156
142
127
114
100
87
75
64
55
47
40
36
33
31
31
35
39
46
54
63
73
84
97
111
125
139
152
166
180
192
202
212
221
229
234
238
240
240
238
234
228
221
212
201
192
179
165
151
137
124
110
96
83
71
62
53
45
38
34
31
31
33
36
42
48
57
66
77
89
102
116
129
143
157
171
184
195
206
216
224
231
236
239
240
240
237
233
226
218
208
197
187
174
161
146
132
119
105
91
79
68
59
50
43
37
33
31
31
34
38
43
50
60
69
80
93
106
120
133
147
161
175
188
198
208
218
226
232
237
239
240
238
235
230
224
215
205
194
183
170
156
142
128
115
101
88
76
65
56
47
41
35
33
31
31
34
39
45
54
63
72
84
98
111
125
138
152
166
179
192
201
212
221
228
234
238
240
240
238
234
228
221
212
201
192
179
165
152
137
124
110
97
83
71
62
52
45
38
35
31
31
33
36
41
48
56
65
76
89
102
116
129
142
157
171
184
194
205
215
224
230
235
238
240
239
237
232
226
218
209
198
187
175
161
147
133
119
106
92
79
68
59
50
43
37
34
31
31
34
37
43
51
59
68
79
93
106
120
133
146
161
175
188
198
208
218
226
232
237
239
240
238
236
231
224
215
205
194
183
170
156
142
128
115
101
88
75
65
56
47
41
36
33
31
31
34
39
46
53
63
72
84
97
111
124
138
152
166
179
192
202
212
221
228
234
238
240
240
238
234
228
221
212
202
192
179
165
152
138
124
110
97
84
72
62
52
45
39
34
31
31
33
36
41
48
56
64
76
88
101
115
129
143
157
170
184
194
205
216
223
230
235
239
240
239
237
232
226
218
211
198
185
176
160
145
136
119
105
95
79
67
61
50
42
38
33
30
31
34
38
43
49
59
69
80
93
107
120
132
147
161
174
188
198
208
217
226
232
237
239
240
238
235
230
224
215
205
194
182
170
156
142
128
115
101
88
75
65
56
47
41
36
32
31
31
34
39
46
53
63
72
84
97
111
125
138
152
166
179
192
202
212
220
228
234
238
240
240
238
234
228
221
212
202
192
179
166
152
137
124
110
97
84
71
63
53
45
39
35
31
31
33
36
41
47
56
65
76
88
101
115
127
142
157
169
183
194
204
214
224
230
235
238
240
240
237
232
226
218
209
198
188
175
161
147
133
120
106
92
79
68
59
51
43
37
34
31
31
33
37
43
50
58
68
79
92
106
120
133
147
161
175
187
198
208
218
225
231
237
239
240
239
235
231
224
216
206
194
184
170
156
142
128
115
101
88
76
64
56
47
41
36
33
31
31
35
39
45
53
62
71
84
97
111
124
137
152
165
179
191
202
212
221
228
234
238
240
240
238
234
228
221
212
202
192
179
166
152
138
124
111
97
84
72
62
53
45
39
35
32
31
33
36
41
48
56
63
77
88
101
115
128
143
156
170
183
195
205
215
224
230
235
238
240
239
236
232
226
219
209
198
187
175
161
147
133
120
106
92
80
68
59
50
43
37
33
30
31
34
36
43
51
59
68
80
92
107
120
133
147
162
175
187
198
209
218
226
232
237
240
240
239
235
230
224
215
205
194
184
170
156
142
128
115
101
88
75
64
56
47
41
36
33
31
31
35
39
45
53
63
72
84
97
110
125
137
152
165
179
191
201
212
220
228
233
238
239
240
238
234
229
221
212
202
192
179
166
151
138
124
110
96
84
72
63
53
45
39
35
31
31
33
36
41
47
56
65
76
88
101
115
128
142
156
170
183
194
205
215
224
230
235
238
240
239
237
232
227
218
209
199
188
175
161
147
133
120
106
92
80
68
60
50
43
38
34
31
31
34
38
43
50
59
68
79
92
105
119
132
146
161
174
187
198
208
218
226
232
236
239
240
239
235
230
224
216
205
195
184
171
157
143
129
115
102
88
76
65
56
48
41
36
33
31
31
34
39
45
53
62
71
83
96
110
124
136
151
165
178
191
201
211
220
228
234
237
239
240
238
235
229
221
212
202
192
179
166
152
138
125
111
97
84
72
63
54
45
39
34
31
31
32
35
41
47
56
63
76
88
100
114
127
142
156
170
183
194
205
214
224
230
235
238
240
240
237
232
226
218
209
198
188
175
161
148
133
120
106
93
80
69
59
50
43
37
34
31
31
33
37
43
50
59
68
79
92
105
119
132
146
160
174
187
198
208
218
225
232
237
239
240
239
236
231
224
215
205
195
184
170
157
142
129
115
102
88
76
65
56
48
41
36
33
31
31
34
39
45
53
62
71
83
97
110
124
137
151
165
178
191
201
211
220
228
233
237
239
240
238
234
229
221
213
202
192
180
166
152
138
125
111
97
84
72
63
53
45
39
35
31
31
33
36
41
47
56
64
75
87
100
114
127
141
155
169
182
193
205
214
223
230
235
238
240
239
237
232
227
219
209
199
188
175
161
147
133
120
106
93
80
68
59
50
43
37
33
31
31
33
37
43
50
59
68
80
92
105
119
132
146
161
174
187
198
208
218
226
232
236
239
240
239
236
231
224
216
206
195
184
171
157
143
129
116
102
89
76
65
56
48
41
36
33
31
31
35
39
45
53
62
71
83
96
109
124
137
151
165
179
191
201
211
220
228
233
237
239
240
238
235
229
222
213
203
192
180
166
152
138
125
111
97
85
72
63
54
46
39
34
32
31
32
35
41
47
56
64
75
88
100
114
127
141
156
170
182
194
205
215
224
230
235
238
240
239
237
233
227
219
209
199
188
175
162
148
133
120
107
93
80
69
60
51
44
38
34
31
31
33
37
43
50
59
67
79
94
106
116
133
147
157
176
188
195
210
219
223
234
238
238
240
239
234
230
225
216
207
194
184
172
157
143
130
116
101
88
76
65
56
49
41
35
32
31
31
35
39
45
53
62
71
83
97
110
123
137
151
165
178
190
201
211
220
228
233
237
240
240
238
234
229
222
213
202
192
180
166
153
138
125
111
98
84
73
62
53
46
39
34
31
31
32
36
41
47
56
64
75
88
100
115
127
141
156
169
183
193
205
214
223
230
235
238
240
239
237
232
226
219
208
199
188
175
162
147
133
120
106
93
80
68
59
50
43
38
33
31
31
34
38
43
49
58
67
80
92
105
119
132
146
160
174
186
197
208
217
225
232
236
239
240
239
236
231
225
215
206
195
184
171
157
142
129
115
102
89
76
65
56
48
41
36
33
31
32
34
39
45
53
62
71
83
96
109
123
137
150
164
177
191
201
211
219
227
233
237
240
239
238
234
229
221
213
202
192
179
166
152
138
125
111
97
84
72
63
53
45
39
35
31
31
32
36
40
47
56
65
76
87
100
114
128
142
155
169
182
193
205
214
223
230
235
238
240
239
236
232
227
219
209
199
188
175
162
147
134
121
107
93
81
69
59
50
43
37
33
31
31
33
37
42
49
59
68
79
92
105
118
131
146
160
174
186
197
208
217
225
232
237
239
239
238
237
231
224
216
206
195
184
171
157
143
129
115
102
88
76
65
56
47
41
36
33
31
31
34
39
45
53
62
71
83
97
111
124
136
150
164
178
192
200
210
221
228
233
238
240
239
238
234
229
222
212
202
192
180
166
152
138
125
111
98
84
73
63
53
45
39
34
31
31
32
36
40
47
56
63
75
87
101
114
127
141
155
169
182
193
204
214
223
230
234
238
240
239
237
232
226
219
209
198
188
175
161
147
133
120
106
93
80
69
59
50
43
37
33
31
31
33
37
43
50
59
68
79
92
105
119
132
146
161
174
187
198
208
217
226
232
237
239
240
239
236
230
224
216
206
195
184
171
157
143
129
115
101
88
76
65
56
48
41
36
33
31
31
35
39
45
53
62
71
83
96
110
124
137
151
165
178
191
201
211
221
228
233
238
239
240
238
234
229
221
213
203
192
180
167
152
139
125
111
97
84
72
63
53
45
39
35
31
31
33
36
41
47
56
63
75
87
101
114
127
141
155
169
182
193
204
214
222
230
235
239
240
240
237
233
227
219
210
199
189
175
162
148
134
121
107
93
80
69
60
51
43
38
33
31
31
33
37
43
50
58
68
79
91
105
119
132
146
160
174
186
197
208
217
225
231
236
239
240
239
236
231
224
216
206
195
184
171
157
143
129
116
102
89
77
65
57
48
41
36
33
31
31
34
38
45
52
62
71
82
96
110
123
137
151
165
178
190
201
211
220
228
233
237
240
240
238
234
229
222
213
203
192
180
167
152
139
125
111
98
85
72
63
53
46
39
35
31
31
33
36
41
47
56
63
75
87
101
114
127
141
155
169
182
194
204
214
223
230
235
238
240
239
237
232
227
219
210
199
189
175
162
148
134
120
107
93
80
69
60
51
43
38
33
31
31
33
37
43
50
58
67
79
92
105
118
132
146
159
173
187
197
208
217
225
231
236
239
240
239
236
231
224
216
206
196
184
171
157
144
130
116
102
89
77
65
57
48
41
36
33
31
31
35
38
45
52
61
71
83
95
109
122
136
150
164
177
189
201
210
220
227
233
237
240
240
238
234
229
222
213
203
192
181
167
153
139
125
112
99
86
73
63
54
47
40
35
31
31
33
35
40
47
55
63
75
87
100
113
127
140
155
168
182
193
204
214
222
230
234
239
240
239
236
233
228
220
210
199
189
176
163
149
134
121
107
94
81
69
60
51
44
37
35
33
31
33
38
43
49
58
67
78
91
104
118
132
145
159
173
186
197
208
216
225
231
236
239
240
238
236
231
225
216
206
195
184
171
158
145
130
113
104
89
74
69
57
46
43
37
30
33
31
33
39
45
51
62
71
83
96
108
122
137
150
164
179
190
200
211
220
227
233
238
239
239
237
235
229
221
213
203
192
180
167
152
138
125
111
98
84
72
63
53
45
39
34
31
31
33
36
41
47
56
64
75
88
100
114
127
142
155
169
182
193
204
214
223
230
235
239
240
239
237
232
227
219
209
199
188
175
162
147
134
121
107
93
80
69
60
51
43
37
34
31
31
34
37
43
50
59
68
79
92
105
119
132
146
160
173
186
197
208
217
225
232
236
239
240
239
236
231
224
216
206
195
184
171
158
143
130
116
103
89
77
65
57
48
41
36
33
31
31
34
38
45
52
62
70
83
95
109
123
136
150
164
178
190
201
211
220
228
233
238
240
239
237
234
229
222
213
203
192
180
167
153
139
126
111
98
85
73
63
53
45
39
35
31
31
32
35
40
47
55
63
75
87
100
114
127
141
155
169
182
193
204
214
222
229
235
238
240
239
237
233
227
219
210
199
188
176
162
149
134
121
107
94
81
69
60
51
44
37
34
31
31
33
37
42
49
58
67
79
91
105
118
132
146
159
173
186
197
208
217
225
232
236
239
240
239
236
231
224
216
206
195
185
172
158
143
130
116
103
89
77
66
57
48
41
36
33
31
31
34
39
45
53
61
71
83
96
109
123
137
150
164
177
190
200
211
220
227
233
238
239
240
238
234
229
222
213
203
192
180
167
153
139
125
111
98
85
74
63
53
47
39
34
32
31
33
35
40
47
55
63
74
87
100
113
127
141
155
169
182
193
204
213
222
229
235
238
240
239
237
233
227
219
210
200
189
177
163
148
134
122
107
93
81
70
59
51
44
38
34
31
31
33
37
43
50
58
67
78
92
105
119
131
145
159
174
186
197
207
217
225
232
236
239
240
239
236
231
225
216
206
196
185
172
158
144
130
116
102
89
77
66
57
48
41
36
34
32
32
34
39
45
53
62
71
83
96
109
123
136
150
164
177
190
200
211
220
227
233
238
240
240
239
235
230
222
213
203
192
181
167
153
139
126
111
98
85
73
63
54
46
39
35
31
31
31
35
40
47
55
63
74
86
100
113
127
141
155
169
182
193
204
214
222
230
235
238
240
240
237
233
227
220
210
199
189
176
163
148
134
121
107
94
81
69
60
51
43
38
34
31
31
33
37
42
50
58
67
78
91
105
118
131
145
159
173
185
197
207
217
225
231
236
239
240
239
236
231
225
216
207
196
185
172
158
144
130
117
103
90
78
67
58
49
42
37
33
31
31
34
39
44
52
61
70
82
94
108
122
135
149
163
177
189
199
210
219
227
233
238
239
240
238
235
229
223
214
204
193
182
168
154
140
126
113
99
86
74
63
54
47
40
35
32
31
32
35
40
47
55
63
74
86
99
112
126
140
154
168
181
192
204
213
222
229
235
238
240
239
238
233
227
220
210
200
189
177
163
149
135
122
108
94
81
70
60
52
44
38
34
31
31
33
37
42
49
58
67
78
90
104
118
131
145
159
173
186
196
207
217
225
231
236
239
240
239
236
231
225
216
207
196
185
172
158
144
130
117
103
90
77
66
57
49
42
36
33
31
31
34
38
44
52
61
71
82
95
109
123
136
150
164
177
190
200
211
220
227
233
237
240
240
238
234
229
222
213
203
192
180
167
153
139
126
112
99
85
73
63
54
46
38
35
33
31
31
35
40
47
55
63
75
87
100
114
127
140
155
169
182
193
203
214
222
229
235
239
240
239
237
233
226
219
211
199
188
176
163
148
134
121
107
94
81
70
60
51
43
38
34
31
31
33
37
42
50
58
67
78
91
104
118
131
145
159
173
186
196
208
217
225
231
236
239
240
239
236
231
225
216
206
196
185
172
158
144
130
117
103
90
77
66
57
48
41
36
33
31
31
34
38
45
52
62
71
83
95
109
122
135
150
166
175
188
202
208
220
230
231
237
242
238
238
236
228
223
215
202
192
180
167
154
139
125
113
99
85
74
63
53
46
40
35
31
31
33
35
40
47
55
63
74
86
100
113
127
140
154
168
181
192
204
214
222
229
234
238
240
240
237
233
227
219
210
199
189
176
163
149
135
121
108
94
81
70
60
52
44
38
34
31
31
33
37
42
49
58
67
78
91
104
118
131
145
159
173
186
196
208
216
225
231
236
239
240
239
236
231
225
217
207
196
185
172
158
144
130
117
103
90
78
66
57
48
42
37
33
31
31
34
39
44
52
61
71
82
95
109
123
136
150
164
177
189
200
210
220
227
233
237
239
240
238
235
229
222
213
204
192
181
167
154
140
126
112
98
85
73
63
54
46
40
35
31
31
33
35
40
47
55
63
74
86
99
113
127
140
154
168
181
192
204
214
222
230
235
238
240
240
237
233
227
219
210
200
189
176
163
149
135
121
107
94
81
70
60
51
44
38
34
31
31
33
37
43
49
58
67
78
91
104
118
131
145
159
172
186
196
207
217
225
231
236
239
240
239
236
231
225
217
